我在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;
}
?>
答案 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;