PDO-Syntaxfehler: „Sie haben einen Fehler in Ihrer SQL-Syntax“
Beim Ausführen einer SQL-Abfrage mit PDO kann es vorkommen, dass Fehler „SQLSTATE[42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax.“ Dieser Fehler tritt häufig auf, wenn ein reserviertes Schlüsselwort als Spaltenname ohne korrekte Anführungszeichen verwendet wird.
Das bereitgestellte Beispiel verwendet den Spaltennamen „from“ in der INSERT-Anweisung. „from“ ist ein reserviertes Schlüsselwort in SQL und muss mit Backticks (`) in Anführungszeichen gesetzt werden.
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
Darüber hinaus ist „to“ ebenfalls ein reserviertes Schlüsselwort und sollte ebenfalls in Anführungszeichen gesetzt werden.
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
Eine andere Möglichkeit besteht darin, die Spalte umzubenennen, um die Verwendung eines reservierten Schlüsselworts zu vermeiden. Anstelle von „from“ könnten Sie beispielsweise „sender“ oder „from_email“ verwenden.
Das Umbenennen der Spalte oder das Zitieren des reservierten Schlüsselworts sollte den Syntaxfehler beheben und eine erfolgreiche Ausführung der Abfrage ermöglichen.
Das obige ist der detaillierte Inhalt vonWie behebt man „SQLSTATE[42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax' in PDO?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!