我已经看了很多次代码,并重写了它,但仍然不知道如何修复这个错误。
有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;
}发布于 2012-04-21 04:37:41
您的SQL语句上需要GROUP BY子句。
"SELECT COUNT(`user_id`) as `count`,`user_id`
FROM `users`
WHERE `email`='$email'
AND `password`='".md5($password)."'
GROUP BY `user_id`"发布于 2012-04-21 04:40:14
由于传递的参数,它看起来像是一个错误。我可以在这里想出几个解决方案。1.在将参数传递给查询之前回显参数。2.还可以在MySQL上尝试SQL查询,看看是否得到了想要的结果。
https://stackoverflow.com/questions/10253195
复制相似问题