mysqli_fetch_assoc()正好需要1个参数,给定2个

时间:2014-12-17 19:30:18

标签: php query-parameters

fetch assoc中只需要1个参数,但我正在检查是否找到了用户名并且它给了我一个错误,因为它只需要一个参数。

function user_exists($username) {
   $connection = mysqli_connect("localhost","root","","c3392262");
   $username = sanitize($username);
   $query = mysqli_query($connection,"SELECT COUNT(`user_id`) FROM 'users' WHERE `username` =           '$username'");
 return (mysqli_fetch_assoc($query, 0) == 1) ? true : false;
}

1 个答案:

答案 0 :(得分:0)

就像错误说的那样,mysqli_fetch_assoc()只需要1个参数,但你传递的是2。 此外,该函数返回一个关联数组或NULL,因此您应该测试其返回值为NULL:

return (mysqli_fetch_assoc($query)!=NULL)?true:false

另一方面,你并不需要使用括号,因为!=的优先级高于?:已经

return mysqli_fetch_assoc($query)!=NULL?true:false

另外,正如@rar所指出的,你也不需要使用三元运算符,因为mysqli_fetch_assoc()和NULL"之间的比较会返回"布尔值已经

return mysqli_fetch_assoc($query)!=NULL