Heim >Datenbank >MySQL-Tutorial >Wie behebt man „SQLSTATE[42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax' in PDO?

Wie behebt man „SQLSTATE[42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax' in PDO?

Linda Hamilton
Linda HamiltonOriginal
2024-12-31 09:13:20482Durchsuche

How to Fix

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn