0
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,而不是一个对象。

4

1 回答 1

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)

于 2013-07-04T00:14:28.527 回答