使用mysql和php从HTML表中删除一条记录


Delete a record from HTML table using mysql and php

嘿,我是PHP新手,需要从MYSQL TABLE中删除一条记录,我的用户名位于html表中!我将mysql表数据提取到html表的代码是:

   while($data=mysqli_fetch_array($result)){
                                    $count+=1;
                                    echo "<tr>";
                                    echo "<td>";
                                    echo "<p>";
                                        echo $count;
                                        echo "</p>";
                                    echo "</td>";
                                        echo "<td>";
                                        echo "<p>";
                                            echo $data['myusername'];
                                        echo "</p>";
                                        echo "</td>";
                                        echo "<td>";
                                        echo "<p>";
                                            echo $data['logincount'];
                                        echo "</p>";
                                        echo "</td>";
                                        echo "<td>";
                                        echo "<p>";
                                            echo $data['signindate'];
                                        echo "</p>";
                                        echo "</td>";
                                        echo "<td>";
                                        echo "<p>";
                                            echo $data['signupdate'];
                                        echo "</p>";
                                        echo "</td>";
                                        echo "<td>";
                                        echo "<p>";
                                            echo "<a href='deluser.php?id=" . $data['myusername'] . "'>Del</a>"; //here i want to use this link to delete a user
                                        echo "</p>";
                                        echo "</td>";
                                    echo "</tr>";
                                }

我的deluser.php是:

<?php
        //$user=$_GET['myusername'];
        $isConnected=mysqli_connect('localhost','root','','mydb');
        if($isConnected){
            if (isset($_GET["myusername"])) {
            $query = "DELETE FROM users WHERE myusername = " . $_GET["myusername"];
            $result = mysqli_query($con, $query);
            // Check the result and post confirm message
            if(!$result){
                echo 'error'.mysqli_error($isConnected);
            }
            else{
                echo 'success';
            }
            }
        }
    ?>

假设已经设置了连接,然后我想使用通配符删除一条记录,即myusername='valueforhtmltable'!

问题是,没有任何东西向我展示,也没有任何错误,也没有成功,所以是我做错了什么吗?有人能帮帮我吗!

看起来您设置的查询不正确。应为:

$query = "DELETE FROM users WHERE myusername = '" . $_GET["myusername"] . "'";
$result = mysqli_query($con, $query);

mysqli_query()函数的第一个参数必须是连接链接,为什么要使用$con变量?您到$isConnected变量中数据库的连接链接。尝试使用这个:

$result = mysqli_query($isConnected, $query);

如果你的myusername值是字符串,你需要把这个值用单引号括起来:

$query = "DELETE FROM users WHERE myusername = '" . $_GET["myusername"] . "'";

对于数据库中的更新信息,您需要使用POST方法,GET方法对所需信息很好,但对更新不好,不安全。