php sql 即使显示成功也不删除行

php sql not deleting row even showing success

我正在尝试使用 href 删除一行,它没有显示错误,但也没有从我的 table 中删除该行。不知道我做错了什么。


delete.php
require_once "db.php";

$id = $_GET['id'];

$sql = "DELETE FROM books WHERE isbn = ". $id;

if (mysqli_query($db, $sql)){
    echo "Success";
}else{
    echo "Error";
}
main.php

if($resultSet->num_rows > 0){
        while($rows = $resultSet->fetch_assoc()){
            $au = $rows['author'];
            $bt = $rows['booktitle'];
            $rev = $rows['reserved'];
            echo"<tr><td>$au</td><td>$bt</td><td>$rev</td><td><a href='delete.php?id=".$rows['isbn']."'>Delete</a></td></tr>\n";
        }
        echo"</table>";
    }

似乎如果您收到成功消息,那么查询 运行 成功,这意味着数据库连接建立正常,因此我们可以排除这种情况。

我认为您的查询 运行ning 但未在 ISBN 上找到任何匹配项,因此记录未被删除。我会尝试在执行之前回显实际的 SQL 查询,这样您就可以复制它,连接到数据库,然后自己将该查询粘贴到 运行 中。也许首先将其更改为 SELECT 语句,以便您可以查看它是否真的获取要删除的行。如果不是,那么带有该 ISBN 的行要么不存在,要么你的 ID 某处有 st运行ge 之类的东西,比如 ext运行eous space/other 奇怪的字符。