已使用 jsp 注册电子邮件?

email is already registered using jsp?

我在 jsp 中制作程序以检查电子邮件是否已注册的数据库时遇到问题。

所以我只是想我可以使用 select * from.. 但现在我正在努力重定向。

实际上我的程序运行良好,但存在一些问题。如果电子邮件不存在,我想让它成为一种方式,它应该假设 pint 欢迎。但什么也没有发生。出现 Blank white page。你能帮帮我吗?我现在应该哪里错了?

这是我的代码:

String user_email=request.getParameter("user_email");

try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/forum", "root", "1234");
    PreparedStatement st=con.prepareStatement("select * from login_system where email=?");
    st.setString(1, user_email);
    ResultSet rs=st.executeQuery();
        while(rs.next()){

            if(user_email.equals(rs.getString("email"))){
                out.print("Email is already registered!!");
            }
            else{
                out.print("Welcome..");
            }
        }
}
catch(Exception e){
    e.printStackTrace();
}
%>

当然,如果有帮助,我们将不胜感激!!

如果电子邮件在数据库中,您的查询将 return 恰好一行,如果电子邮件未注册,它将 return 没有行。

您的代码包含两个问题:如果没有行被 returned,rs.next()false,那么您永远不会进入 while 循环。

如果某行已 returned,则无需检查电子邮件地址,因为您只选择了数学运算行。

代码应如下所示:

ResultSet rs=st.executeQuery();
if (rs.next()){
   // we found a row wth the email address
   out.print("Email is already registered!!");
}
else{
  // email not found in database
  out.print("Welcome..");
}