Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyelesaikan Masalah \'SQLSTATE[HY000]: Ralat Umum\' dalam Kemas Kini Pangkalan Data PDO Laravel?
Menyelesaikan Ralat PDO: "SQLSTATE[HY000]: Ralat Umum" Semasa Mengemas kini Pangkalan Data
Dalam siaran ini, kami akan menyelidiki isu yang dihadapi semasa mengemas kini pangkalan data menggunakan PHP Data Objects (PDO) dan menangani mesej "SQLSTATE[HY000]: General error" yang membingungkan.
Pernyataan Masalah
Yang disediakan kod cuba mengemas kini pangkalan data menggunakan pernyataan yang disediakan. Walau bagaimanapun, walaupun kemas kini berjaya, mesej ralat dikembalikan.
$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(); }
Mesej Ralat
ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error
Penyelesaian
Isunya terletak pada panggilan untuk fetchAll() dalam kod. fetchAll() biasanya digunakan untuk mendapatkan semula data daripada pertanyaan yang berjaya. Walau bagaimanapun, untuk kemas kini atau memasukkan pertanyaan, pernyataan ini tidak diperlukan. Mengalih keluarnya akan menyelesaikan masalah.
$result = $stmt->fetchAll(); // <-- Remove this line
Setelah pernyataan fetchAll() dialih keluar, kod tersebut harus mengemas kini pangkalan data dengan jayanya tanpa menghasilkan mesej ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masalah \'SQLSTATE[HY000]: Ralat Umum\' dalam Kemas Kini Pangkalan Data PDO Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!