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;
}
答案 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