プリペアドステートメント内のSQLコードで構文エラーが発生します。私はサイト上の他の回答を読んだので問題を解決することはできません。次のように私のコードですJava Mysqlプリペアドステートメント構文の問題
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;
}
}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptionを次のようにエラーメッセージがある:あなたのSQL構文でエラーが発生しています。適切な構文についてはMySQLサーバのバージョンに対応するマニュアルを参照して、 '-users'の近くで使用してください。ここで、Tbl-UsersはSQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文が使えるようにしてください。ここで、Tbl-Usersはどこですか?
誰かが助言を提供できますか?ありがとうございました
たちはTBL-ユーザーの構造を持つことができ、次のようにコードを修正する必要がある?それに応じてデータベース接続
に(
MySQL
用3306
ある)ポート番号を含める必要がありますか – Malingaはtbl-usersの有効なテーブル名ですか? –
@anaspa有効であるとは思われません:http://dev.mysql.com/doc/refman/5.7/en/identifiers.html – Tom