java.sql.sqlsyntaxerrorexception找不到错误

e7arh2l6  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(420)

我现在得到这个错误:

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;
}}

有什么要点吗?

3ks5zfa0

3ks5zfa01#

您的查询无效,因为您缺少追加空间。

String select = "SELECT * FROM " + Const.USER_TABLE + " WHERE " +
                Const.USER_LOGIN + "=? AND " + Const.USER_PASSWORD + "=?";

使用上面的代码,现在您的查询字符串变成

SELECT * FROM users WHERE login='Pac1man' AND password='220v'
yhxst69z

yhxst69z2#

您在中有一个错误(缺少空格) select 变量。。试试这个:

String select = "SELECT * FROM " + Const.USER_TABLE + " WHERE " +
                Const.USER_LOGIN + "=? AND " + Const.USER_PASSWORD + "=?";

相关问题