感谢您访问我的问题:D 我正在尝试完成我的项目,但我遇到了 sql 问题。 这是我的代码,我不知道为什么,也不知道如何修复它。 我使用 java ee - Eclip 来执行此操作。 (我创建JSP网站)
try{
String sql = "SELECT User_Name, Password, Gender FROM User_Account WHERE User_Name=? AND password=? ";
PreparedStatement pstm= conz.prepareStatement(sql);
ResultSet rs=pstm.executeQuery(sql);
String user_name=null;
String pass_word=null;
while(rs.next()){
user_name=rs.getString(1);
pass_word=rs.getString(2);
}
if(user_name.equals(userName)&&pass_word.equals(password)){
response.sendRedirect(request.getContextPath() + "/userInfo");
hasError = true;
errorString = "Connected ";
} else {
hasError = true;
errorString = "Wrong user or pass!"
}
运行时会出现一条通知“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? AND password=?' 附近使用的正确语法。在第 1 行” 请帮我解决它。 提前致谢。
最佳答案
如果您设置了 ?
标记,则必须填充它们:
String sql = "SELECT User_Name, Password, Gender FROM User_Account WHERE User_Name=? AND password=? ";
PreparedStatement pstm= conz.prepareStatement(sql);
pstm.setString(1,"John Doe");
pstm.setString(2,"12345");
ResultSet rs=pstm.executeQuery();
这样做,你的 SQL 语法就会正确。
关于java - SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '? AND password=?' 附近使用的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34046993/