警告:mysql_result():提供的参数不是第9行/home/a5751969/public_html/func/user.func.php中的有效MySQL结果资源

时间:2012-04-20 20:34:29

标签: php mysql html

我已经查看了很多时间的代码并重写了它,但仍无法弄清楚如何修复错误。

有第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; 
}

2 个答案:

答案 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查询,看看你是否得到了想要的结果。