0
我使用Wordpress並通過PHP使用AJAX從MYSQL數據庫中刪除帖子。MySQL查詢失敗導致副作用?
This works great。
我的網站上的用戶可以「收藏」帖子,這會呈現一個列表,向他們展示他們喜歡的內容(基本上是一個單獨的表,它們將用戶ID與帖子ID進行交叉引用)。
現在的問題是,當一篇文章被刪除時,我還需要刪除其他表中的任何「偏好」引用。
我通過運行下面的查詢刪除後日常工作的一部分這樣做:
$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之前嘗試刪除它?顯然這意味着更多的查詢,我希望避免。
你也意識到你對注入攻擊很開放吧? – Daedalus
找不到要刪除的匹配行的'DELETE'語句將不會拋出錯誤!這很好,因爲它是合乎邏輯的。只有在sql語句中出現語法錯誤時纔會出現錯誤(請參閱上面的SQL注入漏洞),或者刪除操作會違反外鍵等一些約束條件。 – arkascha
@arkascha謝謝你,這就是我所希望的;) – Grant