function userexists($username){
$query=$mysqli->query("SELECT username FROM accounts WHERE username='$username' AND exists=1");
return mysqli_num_rows($query);
}
此函数应该返回1或0,但我无法弄清楚为什么不解释查询。怎么了?
编辑:php返回的错误是$ query是一个被输入mysqli_num_rows的布尔值,而不是一个对象。
答案 0 :(得分:2)
在您的查询中:
SELECT username FROM accounts WHERE username='$username' AND exists=1"
exists
是一个MySQL关键字。如果您已将其用作列名,那么您将收到语法错误。您可以将列名称括在后面,如下所示:
SELECT username FROM accounts WHERE username='$username' AND `exists`=1"
更改列名和查询可能更安全。
小心可能的SQL注入攻击。至少应该使用mysqli_real_escape_string($username)