首頁  >  文章  >  後端開發  >  更新資料庫時,為什麼 fetchAll() 會在 PDO 中導致「SQLSTATE[HY000]: General Error」?

更新資料庫時,為什麼 fetchAll() 會在 PDO 中導致「SQLSTATE[HY000]: General Error」?

Patricia Arquette
Patricia Arquette原創
2024-10-23 00:53:30956瀏覽

Why is fetchAll() causing a

更新資料庫時 PDO 錯誤:「SQLSTATE[HY000]:一般錯誤」

儘管出現錯誤訊息,您的程式碼似乎已成功更新資料庫。問題在於更新或插入查詢後使用 fetchAll()。

理解錯誤

錯誤訊息「SQLSTATE[HY000]:一般錯誤」提供了有關實際情況的很少資訊。問題。它通常表明資料庫查詢存在一般性問題。

識別問題

在您的程式碼中,執行更新查詢後,您將使用 fetchAll() 來擷取結果。此方法通常與選擇查詢一起使用,它會檢索查詢傳回的所有行。但是,對於插入或更新查詢,fetchAll() 是不必要的,並且可能會導致錯誤。

要解決該錯誤,只需刪除 fetchAll() 語句即可:

<code class="php">try {
    $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'");
    $stmt->execute(array(
        'new_content' => $new_content
    ));
    echo "Database updated!";
}
catch(PDOException $e) {
    echo 'ERROR UPDATING CONTENT: ' . $e->getMessage();
}</code>

以上是更新資料庫時,為什麼 fetchAll() 會在 PDO 中導致「SQLSTATE[HY000]: General Error」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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