【发布时间】:2015-04-08 16:53:41
【问题描述】:
所以我正在尝试使用 mysqli 查询检查用户是否被禁止,但它似乎总是返回用户被禁止。即使他们没有被禁止。
user_banned 函数
function user_banned ($con, $username) {
$data = $username;
$username = sanitize($data, $con);
$username = $data;
mysqli_query($con, "SELECT `banned` FROM `users` WHERE `username` = '$username'");
return(mysqli_affected_rows($con) == 1) ? true : false;
}
我调用函数的地方:
$username = $_POST['username'];
$password = $_POST['password'];
if (user_banned($con, $username) === true ) {
$errors[] = 'You are banned, contact an admin.';
}
我已经回显了 $username,它是正确的用户名,所以这不是问题。
TL;dr 函数由于某种原因总是返回 true。
【问题讨论】:
-
您似乎总是返回一行带有“禁止”字符串。唯一的条件是用户必须存在。如果不是,请澄清。