Trotz der Fehlermeldung scheint Ihr Code die Datenbank erfolgreich zu aktualisieren. Das Problem liegt bei der Verwendung von fetchAll() nach einer Aktualisierungs- oder Einfügeabfrage.
Die Fehlermeldung „SQLSTATE[HY000]: Allgemeiner Fehler“ liefert nur wenige Informationen über den tatsächlichen Zustand Problem. Dies weist normalerweise auf ein allgemeines Problem mit der Datenbankabfrage hin.
In Ihrem Code verwenden Sie nach der Ausführung der Aktualisierungsabfrage fetchAll(), um die Ergebnisse abzurufen. Diese Methode wird normalerweise bei Auswahlabfragen verwendet, bei denen alle von der Abfrage zurückgegebenen Zeilen abgerufen werden. Bei Einfüge- oder Aktualisierungsabfragen ist fetchAll() jedoch unnötig und kann Fehler verursachen.
Um den Fehler zu beheben, entfernen Sie einfach die fetchAll()-Anweisung:
<code class="php">try { $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'"); $stmt->execute(array( 'new_content' => $new_content )); echo "Database updated!"; } catch(PDOException $e) { echo 'ERROR UPDATING CONTENT: ' . $e->getMessage(); }</code>
Das obige ist der detaillierte Inhalt vonWarum verursacht fetchAll() beim Aktualisieren einer Datenbank einen „SQLSTATE[HY000]: Allgemeiner Fehler' im PDO?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!