我现在得到这个错误:
java.sql.SQLSyntaxErrorException: 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 'FROMusersWHERElogin='Pac1man' ANDpassword='220v'' at line 1
我需要做什么来修复它?
我的问题是:
public void SignUpUser(User user){
String insert = "INSERT INTO " + Const.USER_TABLE + "(" + Const.USER_NAME + ","
+ Const.USER_SECONDNAME + "," + Const.USER_LOGIN + "," + Const.USER_PASSWORD + ")"
+ "VALUES(?,?,?,?)";
try {
PreparedStatement prSt = getDbConnection().prepareStatement(insert);
prSt.setString(1, user.getName());
prSt.setString(2, user.getSecondName());
prSt.setString(3, user.getUserName());
prSt.setString(4, user.getPasswordName());
prSt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public ResultSet getUser(User user){
ResultSet resSet = null;
String select = "SELECT * FROM" + Const.USER_TABLE + "WHERE" +
Const.USER_LOGIN + "=? AND" + Const.USER_PASSWORD + "=?";
try {
PreparedStatement prSt = getDbConnection().prepareStatement(select);
prSt.setString(1, user.getUserName());
prSt.setString(2, user.getPasswordName());
resSet = prSt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e){
e.printStackTrace();
}
return resSet;
}}
有什么要点吗?
2条答案
按热度按时间3ks5zfa01#
您的查询无效,因为您缺少追加空间。
使用上面的代码,现在您的查询字符串变成
yhxst69z2#
您在中有一个错误(缺少空格)
select
变量。。试试这个: