function user_exists($username)
{
$username = sanitize($username);
//query = ;
return (mysql_result(mysql_query("SELECT COUNT('ID') FROM 'users' WHERE 'username' = '$username'") , 0) == 1) ? true : false;
}
此代码给出错误:
Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\Users\James\Desktop\Container\XAMPP\htdocs\Triiline1\login.php on line 23
我环顾四周,修复此问题的其他问题似乎无法解决我的问题。
我也对这一行的结尾感到困惑:? true : false;
我从youtube上的phpacademy教程获得了代码,我无法在任何地方找到它的文档。我怀疑它可能已经过时了?
答案 0 :(得分:2)
在MySQL中,标识符引用字符是此处所述的反引号“`”(非单引号):http://dev.mysql.com/doc/refman/5.0/en/identifiers.html。请更新您的查询以使用表名和列名称的后退标记,如下所示:
"SELECT COUNT(`ID`) FROM `users` WHERE `username` = '$username'"
由于查询未成功,您的mysql_query
返回了false
,这就是导致该错误的原因。请查看mysql_query
此处http://php.net/manual/en/function.mysql-query.php的文档,并仔细查看“返回值”部分。
另外,当您提到tutorial
时,我相信您已开始使用数据库开发学习PHP,在这种情况下,最好开始学习mysqli
http://php.net/manual/en/book.mysqli.php或PDO
http://php.net/manual/en/book.pdo.php已弃用mysql
。