簡體   English   中英

PDO准備語句不更新表

[英]PDO Prepared Statement does not UPDATE table

我正在開發基於PDO的ORM,用於沒有唯一ID字段的表,因此在更新或刪除時,我需要與記錄的先前值和LIMIT 1

當我的查詢最終到達數據庫並使用參數執行時,一切都正確了,正如一般查詢日志所確認的那樣,但是什么也沒有發生

我沒有拋出任何異常( PDO::ERRMODE_EXCEPTION打開狀態),並且檢查$stmt->errorInfo()返回干凈,但$stmt->rowCount()返回0

作為健全性檢查,我打開了日志文件,將UPDATE查詢復制並粘貼到Sequel Pro(OSX MySQL GUI)中,然后執行,一切按預期進行,更新了1行。

手動執行IDENTICAL查詢時,PDO為什么不更新行?

問題是我的代碼使用生成了查詢

WHERE `FieldName` = NULL

什么時候應該

WHERE `FieldName` IS NULL

當由PDO執行時,它保持= NULL ,導致沒有記錄匹配,但是當MySQL記錄它時,它記錄為IS NULL ,因此當我復制/粘貼時,查詢是正確的並更新了該行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM