Heim >Datenbank >MySQL-Tutorial >Warum gibt mein PreparedStatement in Java den Fehler „Falsche SQL-Syntax in der Nähe von ‚?'' aus?
PreparedStatement mit MySQL richtig verwenden
Java-Entwickler stoßen bei der Interaktion mit MySQL-Datenbanken häufig auf SQLException
Fehler mit PreparedStatement
. Eine häufige Fehlermeldung weist auf eine falsche SQL-Syntax in der Nähe eines Fragezeichens („?“) hin. Dies ist in der Regel auf eine unsachgemäße Vorbereitung der Abrechnung zurückzuführen.
Eine spezifische Ursache ist die Verwendung von executeQuery()
mit einem String-Parameter. Dadurch wird die Parameterbindung umgangen und die rohe Abfragezeichenfolge anstelle der parametrisierten Version ausgeführt. Die Lösung besteht darin, PreparedStatement
ohne ein String-Argument auszuführen.
Der korrigierte Code sollte sein:
<code class="language-java">statement.executeQuery();</code>
Durch das Weglassen des String-Arguments in executeQuery()
wird sichergestellt, dass die mit Methoden wie setString()
festgelegten Parameter (z. B. für surname
und name
) vor der Ausführung korrekt in die SQL-Abfrage eingesetzt werden. Dies verhindert SQL-Syntaxfehler im Zusammenhang mit den Platzhaltern.
Das obige ist der detaillierte Inhalt vonWarum gibt mein PreparedStatement in Java den Fehler „Falsche SQL-Syntax in der Nähe von ‚?'' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!