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

Linda Hamilton
Lepaskan: 2024-10-23 00:41:31
asal
922 orang telah melayarinya

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();
}
Salin selepas log masuk

Mesej Ralat

ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!