Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich „PDO-Fehler: \'SQLSTATE[HY000]: Allgemeiner Fehler\'\', wenn ich eine Datenbank mit PDO aktualisiere?
PDO-Fehler: „SQLSTATE[HY000]: Allgemeiner Fehler“ beim Aktualisieren der Datenbank
In PDO kann das Aktualisieren einer Datenbank gelegentlich die Beunruhigung auslösen Fehlermeldung: „SQLSTATE[HY000]: Allgemeiner Fehler.“ Das Besondere an diesem Fehler ist jedoch, dass die Datenbankaktualisierung trotz des gemeldeten Problems oft erfolgreich ist.
Code:
<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>
Fehler:
ERROR UPDATING CONTENT: SQLSTATE[HY000]: General error
Lösung:
Die Ursache dieses Problems liegt in der Verwendung der fetchAll()-Methode nach der Ausführung einer Aktualisierungs- oder Einfügeabfrage. Diese Methode sollte in solchen Szenarios nicht verwendet werden, da sie versucht, Daten aus der Datenbank abzurufen, was nicht auf Aktualisierungs- oder Einfügevorgänge anwendbar ist. Entfernen des $result = $stmt->fetchAll(); Zeile sollte das Problem beheben.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich „PDO-Fehler: \'SQLSTATE[HY000]: Allgemeiner Fehler\'\', wenn ich eine Datenbank mit PDO aktualisiere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!