Je reçois une erreur de syntaxe avec le code SQL dans une instruction préparée. J'ai lu les autres réponses sur le site et je ne peux pas résoudre le problème. Mon code est le suivantJava Mysql Problème de syntaxe d'instruction préparée
private boolean validate_login(String username,String password) {
try{
Class.forName("com.mysql.jdbc.Driver"); // MySQL database connection
String url = "jdbc:mysql://localhost/db_webstore";
String user = "root";
String pw = "Password";
String SQL = "select * from tbl-users where Tbl-UsersUserName=? and Tbl-UsersPassword=?";
Connection conn = DriverManager.getConnection(url, user, pw);
PreparedStatement pst;
pst = conn.prepareStatement(SQL);
pst.setString(1, username);
pst.setString(2, password);
ResultSet rs = pst.executeQuery();
if(rs.next())
return true;
else
return false;
}
catch(Exception e){
e.printStackTrace();
return false;
}
}
Le message d'erreur est le suivant
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près des '-users où Tbl-UsersYou avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de '-users où Tbl-Users
Quelqu'un peut-il offrir quelques conseils? Merci à l'avance
Pouvons-nous avoir une structure TBL utilisateurs? – Malinga
est tbl-users nom de table valide? –
@anaspa Ne semble pas être valide: http://dev.mysql.com/doc/refman/5.7/fr/identifiers.html – Tom