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!