Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyelesaikan Masalah \"SQLSTATE[HY000]: Ralat Umum\" dalam Kemas Kini Pangkalan Data PDO Laravel?

Bagaimana untuk Menyelesaikan Masalah \"SQLSTATE[HY000]: Ralat Umum\" dalam Kemas Kini Pangkalan Data PDO Laravel?

Linda Hamilton
Linda Hamiltonasal
2024-10-23 00:41:31923semak imbas

How to Troubleshoot

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!

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