首頁 >後端開發 >php教程 >如何解決 Laravel PDO 資料庫更新中的「SQLSTATE[HY000]:一般錯誤」?

如何解決 Laravel PDO 資料庫更新中的「SQLSTATE[HY000]:一般錯誤」?

Linda Hamilton
Linda Hamilton原創
2024-10-23 00:41:311013瀏覽

How to Troubleshoot

更新資料庫時解決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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn