我想要登录,但会显示错误。我检查SQL的SELECT形式并尝试做同样的事情,但问题根本没有解决。如果有人帮助我,那将是非常好的,谢谢。数据库已经连接并准备使用。
这是错误:mysql_num_rows()期望参数1是资源,第14行的C:\ xampp \ htdocs \ UNIWIX \ login.php中给出布尔值
这是代码:
if(isset($_POST['submit'])){
$email = mysql_escape_string($_POST['email']);
$password = mysql_escape_string($_POST['password']);
$sql = mysql_query("SELECT * FROM users WHERE email='$email' AND password = '$password' ");
if(mysql_num_rows($sql) > 0){ (line 14)
echo "you are now logged in";
exit();
}else{
echo 'wrong email or password';
}
}
答案 0 :(得分:0)
"SELECT * FROM users WHERE email='$email' AND password = '$password' "
您知道吗,$ email和$ password是主字符串的一部分?如果您尝试运行此SQL,它可能会产生一些垃圾。
首先,你需要用单引号给出值,然后用双引号停止字符串,并用点连接它们。所以最后的字符串应该是:
"SELECT * FROM users WHERE email = '".$email."' AND password = '".$password."'"
所以它实际上连接了5个字符串,其中""标记每个的开始和结束。请不要"'"最后,因为PHP也应该给最后一个'到MySQL。