更新資料庫時解決PDO 錯誤:「SQLSTATE[HY000]:一般錯誤」
在這篇文章中,我們將深入研究使用PHP 資料物件(PDO) 更新資料庫時遇到的問題並解決令人困惑的「SQLSTATE[HY000]:一般錯誤」訊息。
問題陳述
提供的程式碼嘗試使用準備好的語句更新資料庫。然而,儘管更新成功,卻傳回錯誤訊息。
$page = 'my_page'; $section = 'content'; $new_content = 'new_content'; $old_content = 'old_content'; try { $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'"); $stmt->execute(array( 'new_content' => $new_content )); $result = $stmt->fetchAll(); // <-- This line may cause the issue echo "Database updated!"; } catch(PDOException $e) { echo 'ERROR UPDATING CONTENT: ' . $e->getMessage(); }
錯誤訊息
ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error
解決方法
問題出在程式碼中對fetchAll() 的調用。 fetchAll() 通常用於從成功的查詢中檢索資料。但是,對於更新或插入查詢,此語句是不必要的。刪除它應該可以解決問題。
$result = $stmt->fetchAll(); // <-- Remove this line
刪除 fetchAll() 語句後,程式碼應該會成功更新資料庫,而不會產生錯誤訊息。
以上是如何解決 Laravel PDO 資料庫更新中的「SQLSTATE[HY000]:一般錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!