我正在使用Wordpress并使用AJAX通过PHP删除MYSQL数据库中的帖子。
这很有效。
我网站上的用户可以“收藏”帖子,这会显示一个列表,显示他们喜欢的内容(基本上是一个单独的表格,用来交叉引用他们的用户ID和帖子ID)。
现在的问题是,当删除帖子时,我还需要删除其他表中的任何“favourited”引用。
我这样做是通过在删除帖子例程中运行以下查询来实现的:
$wpdb->query("DELETE FROM favourite_posts WHERE post_id = ".$_REQUEST['id']);
这很有效,但如果我添加错误检查:
$wpdb->query("DELETE FROM favourite_posts WHERE post_id = ".$_REQUEST['id']) or die(mysql_error());
并且帖子不在收藏夹表中,显然整个例程都失败了。
所以我的问题是......
当在favourite_posts表中不存在的帖子上运行此例程时,是否会运行第一个查询(没有错误检查),导致问题/服务器重载等?或者MYSQL是否只是忽略失败的请求并继续正常进行?
或者这是不好的做法,我应该在尝试删除之前检查帖子是否存在于favourite_posts中?显然,这意味着我希望避免更多的查询。
答案 0 :(得分:0)
它不是失败的请求,它是一个不影响任何行的查询,因为它们与WHERE条件都不匹配。根本不是问题。