Maison >base de données >tutoriel mysql >Pourquoi mon PreparedStatement génère-t-il une erreur de syntaxe proche de « ? » : un problème Java MySQL
Erreur de syntaxe PreparedStatement : '<' Attendu
Rencontrer « l’erreur de syntaxe PreparedStatement » lors de l’utilisation de Java PreparedStatements peut être frustrant. Si vous rencontrez l'erreur :
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
avec un code tel que :
String selectSql1 = "SELECT `value` FROM `sampling_numbers` WHERE `value` < (?)" ; ResultSet rs1 = con.select1(selectSql1,randNum);
c'est parce que vous appelez de manière incorrecte Statement.executeQuery(String) au lieu de PreparedStatement.executeQuery() . Voici comment résoudre ce problème :
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
En modifiant cette ligne, vous exécuterez correctement le PreparedStatement et éviterez "l'erreur de syntaxe PreparedStatement".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!