Heim >Datenbank >MySQL-Tutorial >Warum gibt mein PreparedStatement in Java den Fehler „Falsche SQL-Syntax in der Nähe von ‚?'' aus?

Warum gibt mein PreparedStatement in Java den Fehler „Falsche SQL-Syntax in der Nähe von ‚?'' aus?

Barbara Streisand
Barbara StreisandOriginal
2025-01-11 15:37:42370Durchsuche

Why is my PreparedStatement in Java throwing an

PreparedStatement mit MySQL richtig verwenden

Java-Entwickler stoßen bei der Interaktion mit MySQL-Datenbanken häufig auf SQLExceptionFehler 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!

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