从PHP中的mysql查询中获取用户标识

时间:2013-10-18 13:13:42

标签: php mysql

我正在开发一个网站,我想从这个查询中获取用户ID并将其分配给一个变量,以便我可以在SESSION变量中设置它。

但它不起作用。

这是代码

            $sql="Select user_id,username,password,access_id from temp_users where `username`='$email' and `password`='$password' and `access_id`='2' and 'status'='approved'";
        $res=mysql_query($sql) or die(mysql_error());

        if($sql!='0'){
          //$_SESSION['username']=$email;
          while($row=mysql_fetch_array($res)){
            $_SESSION['user_id']=$row[0];
            echo $_SESSION['user_id'];
            exit;
        }
             header("Location:userpanel2.php");
        }
        else{
         echo 'Query has some problem';
        }

    }

}
else{
    echo 'Signin not set';
}

2 个答案:

答案 0 :(得分:1)

您的SQL查询中有错误。不是'状态',而是status

$sql="Select user_id,username,password,access_id from temp_users where `username`='$email' and `password`='$password' and `access_id`='2' and `status`='approved'";

答案 1 :(得分:0)

主要问题是条件

if($sql!='0'){

应该是这样的:

if($res && mysql_num_rows($res)>0){

但是正如人们评论的那样,使用mysql_real_escape_string可以更好地保护$ sql查询。

状态=已批准

的“和”之间也存在重大错误