SQL-Syntaxfehler: Korrigieren von From- und To-Schlüsselwörtern mithilfe von Backticks
Bei der Arbeit mit SQL-Abfragen mithilfe von PDO ist es wichtig, sicherzustellen, dass die Spaltennamen korrekt sind stehen nicht in Konflikt mit reservierten Schlüsselwörtern. In Ihrem Fall ist der Fehler „SQLSTATE[42000]: Syntaxfehler oder Zugriffsverletzung“ aufgetreten, weil Sie „from“ und „to“ als Spaltennamen verwenden, die in SQL reservierte Schlüsselwörter sind.
Um dieses Problem zu beheben, schließen Sie „von“ und „bis“ in Backticks ( ) ein, wenn Sie sie als Spaltennamen bezeichnen. Backticks werden in MySQL verwendet, um Spaltennamen in Anführungszeichen zu setzen und zu verhindern, dass sie als Schlüsselwörter interpretiert werden.
Ihre geänderte Abfrage sollte wie folgt aussehen:
INSERT INTO messages (`from`, `to`, name, subject, message) VALUES (:from, :to, :name, :subject, :message)
Zusätzlich müssen Sie die umbenennen 'from'- und 'to'-Schlüssel in Ihrem $vals-Array, um die aktualisierten Spaltennamen widerzuspiegeln:
$vals = array( ':from' => $email, ':to' => $recipient, ':name' => $name, ':subject' => $subject, ':message' = >$message );
Durch das Vornehmen dieser Anpassungen werden Sie Führen Sie Ihre SQL-Abfrage erfolgreich aus, ohne dass ein Syntaxfehler auftritt.
Das obige ist der detaillierte Inhalt vonSQL-Syntaxfehler: Wie korrigiert man „von'- und „bis'-Spaltennamen in PDO-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!