MySQL查询失败会导致副作用吗?

时间:2015-10-18 09:14:43

标签: php mysql wordpress error-handling

我正在使用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中?显然,这意味着我希望避免更多的查询。

1 个答案:

答案 0 :(得分:0)

它不是失败的请求,它是一个不影响任何行的查询,因为它们与WHERE条件都不匹配。根本不是问题。