sql删除查询成功但数据仍然存在

时间:2016-09-09 22:08:45

标签: php mysql

我正在尝试使用php从数据库中删除记录,正如我在标题中所说的sql delete查询成功但数据仍然存在。无论如何它引导我到hajj.php,请帮助。

mysqli_query($connection,$sSQL) ;
$db = mysqli_select_db($connection, $database);
if(isset($_GET['id'])) {
    $id=$_GET['id'];
    $query1=mysqli_query($connection, "delete from hajj where id='$id'");

    if($query1) {
        header('location: hajj.php');
    } else {
        echo 'error';
    }
}

3 个答案:

答案 0 :(得分:1)

我很确定问题是你在id中使用“'”。由于数据库使用整数而不是字符串,因此不要使用“'”。尝试将查询编辑为:

$query1 = mysqli_query($connection, "DELETE FROM hajj WHERE id=$id");

这应该可以解决问题。

另外,我看到你从url $ _GET ['id']中获取了ID,请记住,然后代码将是SQL注入的。你应该使用mysqli_real_escape_string来防止这种情况(在这里阅读:http://php.net/manual/en/mysqli.real-escape-string.php

示例:

$id = mysqli_real_escape_string($connection,$_GET['id']);

希望它有所帮助!

答案 1 :(得分:0)

where子句中的id设置不正确,你需要正确地连接$ id变量,如下所示:

$query1=mysqli_query($connection, "delete from hajj where id='".$id."'");

答案 2 :(得分:-1)

你需要像这样连接$ id:

"delete from hajj where id=".$id

explenation:当用“单引号”编写带有'$ id'的字符串时“:

'$ id'被解释为一个字符串,因为它在里面是一个“”。

然而,写作:“string with”。$ id:

将评估$ id,然后将结果与字符串

连接起来