警告:mysql_result():在第9行的/home/a5751969/public_html/func/user.func.php中,提供的参数不是有效的mysql结果资源
我已经看了这么多次代码并重写了它,但仍然不知道如何修复错误 有6-10行警告:mysql_result():在第9行的/home/a5751969/public_html/func/user.func.php中,提供的参数不是有效的mysql结果资源,php,mysql,html,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`='"
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;
}
SQL语句中需要一个GROUPBY子句
"SELECT COUNT(`user_id`) as `count`,`user_id`
FROM `users`
WHERE `email`='$email'
AND `password`='".md5($password)."'
GROUP BY `user_id`"
由于传递的参数,这似乎是一个错误。我可以想出几个解决办法。 1.在将参数传递给查询之前回显参数。
2.还可以在MySQL上尝试SQL查询,看看是否得到了所需的结果。之所以出现这种情况,是因为您的MySQL\u查询抛出了一个错误。您需要使用
mysql\u error
进行调试。仅供参考:mysql有一个password
函数,您可以使用它来代替md5
。我不确定它是否有什么不同,但只是一些需要考虑的问题。您不应该在自己的应用程序中使用它。为此,考虑Md5()或Sa1(),而不是.< /代码>马祖奇好吧,很高兴知道。有趣的谢谢你!我再次重写了代码,现在它可以正常工作了,我会看看哪里出了问题。