2

我正在一个网站上工作,我想从该查询中获取用户 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';
}
4

2 回答 2

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'";
于 2013-10-18T13:16:27.603 回答
0

主要问题在于条件

if($sql!='0'){

应该是这样的:

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

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

` 和 ' 之间还有一个重大错误,因为 status=approved

于 2013-10-18T13:17:54.203 回答