return(mysql_result(mysql_query(“SELECT COUNT('ID')FROM'users'WHERE'username'='$ username'”),0)== 1)?真假;

时间:2013-07-31 22:59:24

标签: php sql

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教程获得了代码,我无法在任何地方找到它的文档。我怀疑它可能已经过时了?

1 个答案:

答案 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.phpPDO http://php.net/manual/en/book.pdo.php已弃用mysql