Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
警告:mysql_result():在第9行的/home/a5751969/public_html/func/user.func.php中,提供的参数不是有效的mysql结果资源_Php_Mysql_Html - Fatal编程技术网

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

警告: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`='"

我已经看了这么多次代码并重写了它,但仍然不知道如何修复错误

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

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(),而不是.< /代码>马祖奇好吧,很高兴知道。有趣的谢谢你!我再次重写了代码,现在它可以正常工作了,我会看看哪里出了问题。