DELETE语句php MySQL

时间:2015-02-06 13:30:57

标签: php mysql sql-delete

我的代码需要一些帮助,当我点击提交代码时,它总是说"用户成功踢了#34;。但是,查询未成功执行,用户仍在数据库中。

编辑:修复了mysql / msqli问题。现在查询答案"出了问题" "用户成功踢了#34;但我不会从mysql_error报告中得到任何错误。我该怎么办?

include 'connect.php';

if(empty($_POST['user_id'])) 
    {
            echo '<form method="post" action="">
                  User_id: <input type="text" name="user_id" />
                 <input type="submit" value="Kick user" />
                 </form>';

    }
    else 
    {
        $sql = "DELETE FROM users
                WHERE 
                user_id = '" .mysqli_real_escape_string($_POST['user_id']) . "'
                ";

        $result = mysqli_query($con, $sql);
        if($result)
        {
            //something went wrong, display the error
            echo 'Something went wrong!.';
            echo mysqli_error(); //debugging purposes, uncomment when needed
        }
        else
        {
            echo 'User successfully kicked!';
        }
    }

我的connect.php看起来像这样:

<?php
$con=mysqli_connect ("localhost","root","","dps");
if (mysqli_connect_errno()) {
echo "failed to connect mysql: ". mysqli_connect_error();
}
?>

2 个答案:

答案 0 :(得分:2)

您要在$sql部分设置if var,并尝试在else部分中访问它。这不起作用。 你也混合库是坏的(mysql与mysqli不一样,使用mysqli,因为 mysql已被弃用,将从php中移除

include 'connect.php';

if(empty($_POST['user_id'])) 
{
        echo '<form method="post" action="">
              User_id: <input type="text" name="user_id" />
             <input type="submit" value="Kick user" />
             </form>';

}
else 
{
    $sql = "DELETE FROM users
            WHERE 
            user_id = '" .mysqli_real_escape_string($con, $_POST['user_id']) . "'
            ";

    $result = mysqli_query($con, $sql);
    if(!$result)
    {
        //something went wrong, display the error
        echo 'Something went wrong!: ';
        echo mysqli_error($con) //debugging purposes, uncomment when needed
    }
    else
    {
        echo 'User succesfully kicked!';
        mysqli_free_result($result);
    }
}

您可能需要更改connect.php才能使用mysqli

编辑:现在应该修复一些错误

答案 1 :(得分:-1)

添加:

$result = mysqli_query($con, $sql);

之后:

$sql = "DELETE FROM 
                    users
                WHERE 
                    user_id = '" . mysql_real_escape_string($_POST['user_id']) . "'
                ";