如何在删除限制上检查外键 [重复]

Posted

技术标签:

【中文标题】如何在删除限制上检查外键 [重复]【英文标题】:How can I check foreign key on delete restrict [duplicate] 【发布时间】:2020-02-06 17:36:44 【问题描述】:

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

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

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

【问题讨论】:

【参考方案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 而不是串联值

【讨论】:

以上是关于如何在删除限制上检查外键 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

检查地图上的标记是不是已被删除 - Android [重复]

如何在 SAP ASE Sybase 16 中从具有外键的表中删除行

如何在删除时处理 MySql + Laravel 中的外键约束?

如何在 Java 中删除重复的列表遍历

如何在有外键关系的表中删除数据

如何使用约束限制外键下拉列表?