2016-10-17 14 views
1

私は重複した電子メールをチェックする小さな問題を抱えています。前のページからPOSTを介して入力された電子メールアドレスを取得できましたが、query1は読み込まれませんでした($ sql1)。したがって、$ reg_numをエコーすると、mysqlワークベンチで作業していても、常に '0'と表示されます。あなただけの$sql1文字列に$emailaddressを貼り付けるのではなく、パラメータを使用する必要があります電子メールの重複チェックphpとデータベース

if(strpos($emailAddress, $emailValidCheck) === false) { 
    echo "<script> alert('Invalid email type. Use the correct email address.'); history.back(); </script>"; 
} 

else { 
    echo $emailAddress; 

    $sql1="SELECT count(*) as count FROM peekachews.tbl_user WHERE user_email=".$emailAddress.""; 
    $result1=mysqli_query($conn, $sql1); 
    $row1=mysqli_fetch_assoc($result1); 
    $reg_num=$row1['count']; 

    if($reg_num > 0) 
    { 
     echo "<script> alert('Duplicated email.'); history.back(); </script>"; 
     die; 
    } 

    else if($reg_num = 0) { 
     $sql2="insert into tbl_user (user_firstName, user_lastName, user_email, user_password, user_date) "; 
     $sql2.="values ('$firstName', '$lastName', '$emailAddress', '$password', now())"; 
     $result2=mysqli_query($conn, $sql2); 
     //tot_row=mysql_affected_rows(); 
     mysqli_close($conn); 

     echo "<script> alert('Congratulations on becoming a Peeknchews registered member.'); 
     location.replace('../php_login/login.php'); </script>"; 
    } 

} 
+0

を修正「」$ EMAILADDRESS。。 "';"; –

答えて

0

..私は$ SQL1前にエコー$ EMAILADDRESSのような多くのことをしようとした、またはエコー$のreg_numは....カントー私を助けてください。

あなたはパラメータを使用したくない場合は、ちょうどこのような電子メールアドレスの周り$sql1文字列に引用符を配置する必要があります。解決

$sql1="SELECT count(*) as count FROM peekachews.tbl_user WHERE user_email='$emailAddress'"; 
+0

あなたはまた、ユニークなUSER_EMAIL列を作るそして、代わりのために照会ができます。既存の電子メールを挿入しようとすると、エラーメッセージを解析して、重複した電子メールが原因であるかどうかを確認することができます。 – CptMisery

+0

解決済みですが、常にこのようなSQL文で変数を使用します。 $変数。 ' しかし、なぜドットがsql haha​​に入力されたのか分からないのですが、どうもありがとうございます! –

+0

あなたは本当にパラメータを使用するように切り替えるべきです。コードはもっと安全です。 – CptMisery

0

。 なぜドット(。)がSQL文に入力されたのか分かりませんが、SQLは完全に間違っていました。

USER_EMAIL =のように、USER_EMAIL値に引用符を追加しよう、こんにちは

$sql1="SELECT count(*) as count FROM peekachews.tbl_user WHERE user_email='$emailAddress'"; 
関連する問題