【问题标题】:How can I check foreign key on delete restrict [duplicate]如何在删除限制上检查外键 [重复]
【发布时间】:2025-11-22 21:50:03
【问题描述】:

我的网站有问题,当我想删除一个我无法删除的人已经订购的项目时(这是正常的,因为我的数据库中有限制删除和更新)。但我的问题是,我不想在屏幕上什么都没有,而是想得到一条文字说些什么。这是我的代码。

if (isset($_GET['verwijder'])) {

    $id = $_GET['verwijder'];
    $db_conn->query("DELETE FROM `menu` WHERE menu_id=$id");
    header("location:../menu.php");
} 

【问题讨论】:

    标签: php mysql sql pdo


    【解决方案1】:

    然后测试查询结果,删除查询返回真假

    $res = $db_conn->query("DELETE FROM `menu` WHERE menu_id=$id");
    if ( ! $res ) {
        echo 'something';
    }
    

    警告:您的脚本对SQL Injection Attack 开放。 甚至if you are escaping inputs, its not safe! 您应该考虑在 MYSQLI_PDO API 中使用 prepared parameterized statements 而不是串联值

    【讨论】: