mysql_result()期望参数1是资源,布尔值在

时间:2013-03-30 05:33:45

标签: php

我在php上发了一个恼人的错误

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\john\core\functions\users.php on line 16

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\john\core\functions\users.php on line 24

第16行指的是

return (mysql_result(mysql_query("Select 'id' From 'users' where 'username'= '$username'"), 0 ,'id'));

和第24行指的是

return (mysql_result(mysql_query("Select count('id') From 'users' where 'username'= '$username' AND 'hashed_password' = '$hash_password'"),0)==1 )? $user_id : false;

我的查询是正确的,但我认为查询有问题。 请帮帮我。

整个代码在这里

 <?php 
function user_exists($username){
    $username = sanitize($username);
     return(mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `username` = '$username'")
    , 0) == 1) ? true : false;
}

function user_active($username){
    $username = sanitize($username);
     return(mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `username` = '$username' AND `active` = 1")
    , 0) == 1) ? true : false;
}

function user_id_from_username($username){
    $username = sanitize($username);
    return (mysql_result(mysql_query("Select 'id' From 'users' where 'username'= '$username'"), 0 ,'id'));
}


function login($username,$password){
    $user_id = user_id_from_username($username);
    $username = sanitize($username);
    $hash_password = md5($password);    
    return (mysql_result(mysql_query("Select count('id') From 'users' where 'username'= '$username' AND 'hashed_password' = '$hash_password'"),0)==1 )? $user_id : false;
}

?>

1 个答案:

答案 0 :(得分:4)

问题在于你在column_names周围使用了''。它被视为字符串而不是column_name

更改

 return (mysql_result(mysql_query("Select 'id' From 'users' where 'username'= '$username'"), 0 ,'id'));

return (mysql_result(mysql_query("Select `id` From `users` where `username`= '$username'"), 0 ,'id'));

return (mysql_result(mysql_query("Select count(`id`) From `users` where `username`=
'$username' AND `hashed_password` = '$hash_password'"),0)==1 )? $user_id : false;