我已经查看了很多时间的代码并重写了它,但仍无法弄清楚如何修复错误。
有第6-10行;
function login_check ($email, $password) {
$email = mysql_real_escape_string ($email);
$login_query = mysql_query("SELECT COUNT(`user_id`) as `count`,`user_id` FROM `users` WHERE `email`='$email' AND `password`='".md5($password)."'");
return (mysql_result($login_query, 0) == 1) ? mysql_result($login_query, 0, 'user_id') : false;
}
重写代码;
function login_check ($email, $password) {
$email = mysql_real_escape_string($email);
$login_query = mysql_query("SELECT COUNT(`user_id`) as `count`, `user_id` FROM `users` WHERE `email`='$email' AND `password`='".md5($password)."'");
return (mysql_result($login_query, 0) == 1) ? mysql_result($login_query, 0, 'user_id') : false;
}
答案 0 :(得分:0)
您的SQL语句需要GROUP BY子句。
"SELECT COUNT(`user_id`) as `count`,`user_id`
FROM `users`
WHERE `email`='$email'
AND `password`='".md5($password)."'
GROUP BY `user_id`"
答案 1 :(得分:0)
由于传递了参数,这似乎是一个错误。我可以在这里想到几个解决方案。 1.在将参数传递给查询之前回显参数。 2.还可以在MySQL上尝试SQL查询,看看你是否得到了想要的结果。