我正在开发一个网站,我想从这个查询中获取用户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';
}
答案 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查询。
状态=已批准
的“和”之间也存在重大错误