SQL-Syntaxfehler: „Reservierter Wortfehler (von, bis)“
Es tritt der Fehler „SQLSTATE[42000]: Syntaxfehler oder“ auf Zugriffsverletzung: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax“ bei der Verwendung von PDO in PHP kann frustrierend sein. Eine mögliche Ursache für diesen Fehler ist die Verwendung reservierter Wörter in Spaltennamen ohne korrekte Anführungszeichen.
In SQL sind bestimmte Wörter wie „von“ und „bis“ reservierte Schlüsselwörter und können ohne Anführungszeichen nicht als Spaltennamen verwendet werden zitieren. Dies wird in der Fehlermeldung hervorgehoben als „Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe von „Von, An, Name, Betreff, Nachricht)-WERTEN“.
Um dieses Problem zu beheben , müssen Sie die reservierten Wörter mit Backticks (`) in Anführungszeichen setzen. In MySQL würde dies bedeuten, den Code wie folgt zu ändern:
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
Durch Anführungszeichen der reservierten Wörter teilen Sie dem SQL-Parser mit, dass Sie sie als Spaltennamen und nicht als Schlüsselwörter verwenden möchten. Dies sollte den Syntaxfehler beseitigen und eine erfolgreiche Ausführung der Abfrage ermöglichen.
Denken Sie daran, dass es im Allgemeinen eine gute Praxis ist, die Verwendung reservierter Wörter als Spaltennamen ganz zu vermeiden. Erwägen Sie, Spalten umzubenennen, um mögliche Syntaxkonflikte in Zukunft zu vermeiden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MySQL einen „Reserved Word Error', wenn ich „from' und „to' als Spaltennamen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!