Java 尝试从DB接收密码时出现Prepared语句错误
我在这个方法中得到一个错误:Java 尝试从DB接收密码时出现Prepared语句错误,java,mysql,prepared-statement,Java,Mysql,Prepared Statement,我在这个方法中得到一个错误: public String databaseServer(String email)throws IllegalArgumentException { Connection dbCon = null; Statement stmt = null; String password = null; System.out.print(email); String query = "SELECT password FROM user
public String databaseServer(String email)throws IllegalArgumentException {
Connection dbCon = null;
Statement stmt = null;
String password = null;
System.out.print(email);
String query = "SELECT password FROM user WHERE email = ?";
try {
dbCon = initializeDBConnection();
PreparedStatement preparedStatement = dbCon.prepareStatement(query);
preparedStatement.setString(1, email);
ResultSet rs = preparedStatement.executeQuery(query);
while (rs.next()) {
password = rs.getString("password");
}
} catch (SQLException ex) {
Logger.getLogger(Collection.class.getName())
.log(Level.SEVERE, null, ex);
}
//close connection ,stmt and resultset here
return password;
}
错误是:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“?”附近使用的正确语法
我已经检查了连接和传入字符串,它们都工作正常
有人知道我做错了什么吗?而不是
ResultSet rs = preparedStatement.executeQuery(query);
做
谢谢你,好先生!(我会在11分钟内将答案标记为正确)
ResultSet rs = preparedStatement.executeQuery();