Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Mendapat \"Ralat PDO: \'SQLSTATE[HY000]: Ralat Umum\'\" Semasa Mengemas kini Pangkalan Data dengan PDO?

Mengapa Saya Mendapat \"Ralat PDO: \'SQLSTATE[HY000]: Ralat Umum\'\" Semasa Mengemas kini Pangkalan Data dengan PDO?

Barbara Streisand
Barbara Streisandasal
2024-10-23 01:01:03456semak imbas

Why Do I Get

Ralat PDO: "SQLSTATE[HY000]: Ralat Umum" Semasa Mengemas kini Pangkalan Data

Dalam PDO, mengemas kini pangkalan data kadangkala boleh mencetuskan kebimbangan mesej ralat: "SQLSTATE[HY000]: Ralat umum." Walau bagaimanapun, aspek pelik ralat ini ialah kemas kini pangkalan data selalunya berjaya walaupun terdapat isu yang dilaporkan.

Kod:

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

Ralat:

ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error

Penyelesaian:

Punca isu ini terletak pada penggunaan kaedah fetchAll() selepas melaksanakan kemas kini atau pertanyaan sisipan. Kaedah ini tidak boleh digunakan dalam senario sedemikian, kerana ia cuba mendapatkan semula data daripada pangkalan data, yang tidak boleh digunakan untuk mengemas kini atau memasukkan operasi. Mengalih keluar $result = $stmt->fetchAll(); talian harus menyelesaikan masalah.

Atas ialah kandungan terperinci Mengapa Saya Mendapat \"Ralat PDO: \'SQLSTATE[HY000]: Ralat Umum\'\" Semasa Mengemas kini Pangkalan Data dengan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn