0
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 教程中获得了该代码,但我在任何地方都找不到有关它的文档。我怀疑它可能已经过时了?

4

1 回答 1

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 和 DB 开发,在这种情况下,最好开始学习mysqli http://php.net/manual/en/book.mysqli.phpPDO http://php。 net/manual/en/book.pdo.phpmysql弃用。

于 2013-07-31T23:01:48.150 回答