嘗試使用PDO 更新資料庫時,可能會出現錯誤「SQLSTATE[HY000]:一般錯誤」被退回。這個錯誤可能看起來令人費解,因為儘管報告了錯誤,資料庫仍然成功更新。
錯誤原因
此錯誤的根本原因是不正確使用更新或插入查詢後的 fetchAll() 方法。 PDO 的 fetchAll() 方法通常用於檢索所有受選擇查詢影響的行。但是,當執行更新或插入操作時,此方法不是必需的。
錯誤代碼範例
以下程式碼嘗試更新資料庫表並擷取所有使用fetchAll() 更新行:
在這種情況下,由於更新查詢後使用fetchAll(),將會拋出錯誤「SQLSTATE[HY000]: General error」。
正確解決方案
要修正此錯誤,只需從程式碼中刪除 fetchAll() 語句即可。修改後的程式碼如下所示:
省略 fetchAll() 語句,錯誤訊息「SQLSTATE[HY000]: General error」應該會消失,從而成功更新資料庫。
以上是為什麼更新查詢後 PDO 回傳 \'SQLSTATE[HY000]\' 而不是成功?的詳細內容。更多資訊請關注PHP中文網其他相關文章!