Heim  >  Artikel  >  Datenbank  >  Warum wirft mein PreparedStatement einen Syntaxfehler in der Nähe von „?' aus: Ein Java-MySQL-Problem

Warum wirft mein PreparedStatement einen Syntaxfehler in der Nähe von „?' aus: Ein Java-MySQL-Problem

Susan Sarandon
Susan SarandonOriginal
2024-11-19 17:32:03424Durchsuche

Why Does My PreparedStatement Throw a Syntax Error Near

PreparedStatement-Syntaxfehler: '<' Erwartet

Das Auftreten des „preparedStatement-Syntaxfehlers“ bei der Verwendung von Java PreparedStatements kann frustrierend sein. Wenn der Fehler auftritt:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?)' at line 1

mit Code wie:

    String selectSql1
        = "SELECT `value` FROM `sampling_numbers` WHERE `value` < (?)" ;
    ResultSet rs1 = con.select1(selectSql1,randNum);

liegt das daran, dass Sie fälschlicherweise Statement.executeQuery(String) anstelle von PreparedStatement.executeQuery() aufrufen. . So beheben Sie das Problem:

    this.stmt = con.prepareStatement(sql); // Prepares the Statement.
    stmt.setInt(1, randNum);               // Binds the parameter.
    // return this.stmt.executeQuery(sql); // calls Statement#executeQuery
    return this.stmt.executeQuery();       // calls your prepared PreparedStatement

Durch Ändern dieser Zeile führen Sie PreparedStatement korrekt aus und vermeiden den „preparedStatement-Syntaxfehler“.

Das obige ist der detaillierte Inhalt vonWarum wirft mein PreparedStatement einen Syntaxfehler in der Nähe von „?' aus: Ein Java-MySQL-Problem. 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