php
  • mysql
  • database
  • validation
  • 2014-12-28 52 views 0 likes 
    0

    我想检查用户注册到我的网站时电子邮件的用户名是否已存在于数据库中。 我有下面的代码不工作,我不知道为什么。如果有人能指出我正确的方向来验证数据库中已有的信息,我将不胜感激!谢谢检查数据库中是否存在用户名或电子邮件

    $query = mysql_query(" 
        SELECT * 
        FROM users 
        WHERE username = '". $username ."' 
         OR email = '". $email ."'" 
    ); 
    
    if (mysql_num_rows($query) > 0){ 
        die ('Username or email already in use.'); 
    } 
    
    +3

    “不工作”不够具体,不足以对失败的地方进行有根据的猜测。详细说明输入,表格结构和内容,打开error_reporting,添加print_r语句等,并使用正确的数据库转义。 – mario

    +1

    请print_r($ query); –

    +0

    我有error_reporting,但没有输出错误。 – user3927104

    回答

    0

    这可以通过将用户名字段更改为主键或唯一。

    或者运行SQL

    SELECT username FROM table WHERE username='$php_username_var'; 
    
    +0

    我将ID字段设置为唯一,我可以设置多个字段以唯一吗? – user3927104

    0

    请看下面的代码,这是被在注册网页我的网站的使用,我希望你得到你的答案。

    $sq="SELECT * FROM users WHERE username='$username' and password='$password'"; 
    $rsult=mysql_query($sq);  $count=mysql_num_rows ($rsult); 
    if($count==1){echo "username already in use"; } 
    
    else 
    
    { 
    
    $sql="INSERT INTO $tbl_name(username, password, sex, place) 
    VALUES('$username', '$password', '$sex', '$place')"; } 
    $result=mysql_query($sql);  if($result) 
    {header("location:home.php"); } 
    else 
    { echo "Error, please go back and sign up again! "; } ?> 
    
    +0

    我试过这个,并将其改编为我的数据库信息,但它似乎没有工作。我不断收到错误消息 – user3927104

    +0

    你收到了什么错误消息? – starkeen

    相关问题