从mySQL表中选择一列并检查验证

从mySQL表中选择一列并检查验证,mysql,select,jdbc,Mysql,Select,Jdbc,我有一个名为userinfo的mySQL表,带有colums-userId、userName、Password、city、age-userId是Pkey和Autoincremnt 当用户登录Login.jsp时,他提交用户名和密码 jsp的这两个参数在UserLogin servlet中接收,然后在userinfo表中进行检查。如果匹配,他可以登录 我试图选择,但我得到了无数的错误。正确的方法应该是什么:- try { String sql = "Sel

我有一个名为userinfo的mySQL表,带有colums-userId、userName、Password、city、age-userId是Pkey和Autoincremnt

当用户登录Login.jsp时,他提交用户名和密码

jsp的这两个参数在UserLogin servlet中接收,然后在userinfo表中进行检查。如果匹配,他可以登录

我试图选择,但我得到了无数的错误。正确的方法应该是什么:-

try {           

         String sql = "Select UserName, UserPW From  SocialNetwork.RegisteredUser";

           conn = ConnectionFactory.getConnection();

           PreparedStatement ptmt = (PreparedStatement) conn
                    .prepareStatement(sql);

         ptmt.executeQuery();

         Statement stmt = (Statement) conn.createStatement();
        s = connection.prepareStatement("select id_usuario, id_grupo from usuarios_grupos where id_grupo = ?");

            //storing user data in ResultSet
            ResultSet rs = stmt.executeQuery(sql);


            while (rs.next())  {
            String refName = rs.getString("UserName");

            String refPass = rs.getString("UserPW");

            if (user.equals(refName) && pw.equals(refPass) ) {
                out.println("<html>");
                out.println("<body>");
                out.println("You are In");
                out.println("</body>");
                out.println("</html>");

                System.out.println("sucess");   


            }


           }
     }catch (SQLException e) {

        e.printStackTrace();
    }

你要的是完整的代码清单吗?在您当前的代码中,您似乎在无缘无故地执行一些查询,然后获取所有用户的列表并遍历它们以查找匹配项。尝试使用如下查询

sql ="Select UserName, UserPW From  SocialNetwork.RegisteredUser where UserName=?"
ResultSet rs = stmt.executeQuery(sql);
然后在代码中检查密码

if(rs.next()){
  String refPass = rs.getString("UserPW");
  if (pw.equals(refPass) )
}
通过使用语句接口,您不能动态设置值。使用PreparedStatement接口进行第二次查询

导入类中的包import javas.sql.*


你犯了多少错误?为什么要触发两次查询?当我运行这个字符串sql=SELECT UserName,UserPW From SocialNetwork.RegisteredUser WHERE UserName=?;我在第1行的“?”附近得到正确语法的syntex error,以便删除ptmt.setString1,user并使用此查询。字符串sql=从SocialNetwork.RegisteredUser中选择用户名,UserPW,其中用户名='+user+';
try {           

         String sql = "Select UserName, UserPW From  SocialNetwork.RegisteredUser UserName = ?";
         conn = ConnectionFactory.getConnection();
         PreparedStatement ptmt =conn.prepareStatement(sql);
           ptmt.setString(1, user)
          ResultSet rs= ptmt.executeQuery();
            while (rs.next())  {
            String refName = rs.getString(1);//field index of user name
            String refPass = rs.getString(2);//field index of password

            if (user.equals(refName) && pw.equals(refPass) ) {
                out.println("<html>");
                out.println("<body>");
                out.println("You are In");
                out.println("</body>");
                out.println("</html>");
                System.out.println("sucess");   
            }
       }
     }catch (SQLException e) {
        e.printStackTrace();
    }