簡體   English   中英

使用JSP檢查數據庫中是否已存在電子郵件ID

[英]Checking if email id already exists in database using JSP

我希望注冊時不要多次使用特定的電子郵件ID。 這是我的代碼:

if(request.getParameter("btn1")!=null)
  {
      String unm=request.getParameter("nm");
      String em=request.getParameter("email");
      String pwd=request.getParameter("pass");
      Connect c1=new Connect();
       String q="insert into register(name,email,password) values('"+unm+"','"+em+"','"+pwd+"');";
    int rs=c1.DMLExecuter(q);
    if(rs>0)
    %>
    <script>
        alert("You are registered now. Please login to continue.");
    </script>

如何檢查電子郵件ID是否被兩次使用?

  1. 確保您的電子郵件字段是唯一的,例如通過相應地調整DDL(這將獲取數據庫以確保電子郵件地址是唯一的)。 或者,可以將電子郵件字段設置為主鍵:

     CREATE TABLE register( ... EMAIL VARCHAR(50) NOT NULL UNIQUE, ... ) 
  2. 在代碼中,在插入之前,請通過該ID檢查現有電子郵件的計數:

     long existingCount = ... String countQuery = "SELECT COUNT(1) FROM register WHERE email = ?" 

使用request.getParameter("email")的值運行此查詢。 結果應該是一個數字,告訴您使用該電子郵件的現有用戶數。

假設計數已存儲在existingCount變量中:

if(existingCount == 0) {
    //Put here the code to insert the new user as shown in your question...
} else {
%>
    <script>
        alert("You are already registered. Login or choose a different email");
    </script>
<%
}

請注意,我的sql使用了綁定變量 ,請使用准備好的語句

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM