Wie behebe ich „SQLSTATE[HY000]: Allgemeiner Fehler' bei Laravel-PDO-Datenbankaktualisierungen?

Linda Hamilton
Freigeben: 2024-10-23 00:41:31
Original
922 Leute haben es durchsucht

How to Troubleshoot

Beheben des PDO-Fehlers: „SQLSTATE[HY000]: Allgemeiner Fehler“ beim Aktualisieren der Datenbank

In diesem Beitrag befassen wir uns mit einem Problem beim Aktualisieren einer Datenbank mithilfe von PHP-Datenobjekten (PDO) und beheben Sie die verwirrende Meldung „SQLSTATE[HY000]: Allgemeiner Fehler“.

Problemerklärung

Die bereitgestellten Code versucht, eine Datenbank mithilfe einer vorbereiteten Anweisung zu aktualisieren. Trotz erfolgreicher Aktualisierung wird jedoch eine Fehlermeldung zurückgegeben.

$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();
}
Nach dem Login kopieren

Fehlermeldung

ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error
Nach dem Login kopieren

Lösung

Das Problem liegt im Aufruf von fetchAll() im Code. fetchAll() wird normalerweise verwendet, um Daten aus einer erfolgreichen Abfrage abzurufen. Für Aktualisierungs- oder Einfügungsabfragen ist diese Anweisung jedoch nicht erforderlich. Das Entfernen sollte das Problem beheben.

$result = $stmt->fetchAll(); // <-- Remove this line
Nach dem Login kopieren

Sobald die fetchAll()-Anweisung entfernt wurde, sollte der Code die Datenbank erfolgreich aktualisieren, ohne eine Fehlermeldung zu erzeugen.

Das obige ist der detaillierte Inhalt vonWie behebe ich „SQLSTATE[HY000]: Allgemeiner Fehler' bei Laravel-PDO-Datenbankaktualisierungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!