我想从mysql表中读取是否是admin。“status”行中有1或0。如果大于0,则它是管理员。
PHP:
<?php
if($db->isUserAdmin() === TRUE) {
echo 'Admin';
} else{
echo 'Noadmin';
}
?>
mysqli公司:
function isUserAdmin() {
$stmt = self::$_db->prepare("SELECT Status FROM users WHERE Session=:sid");
$stmt->bindParam(":sid", session_id());
$stmt->execute();
if($stmt->rowCount() < 1) {
return true;
} else {
return false;
}
}
2条答案
按热度按时间8yoxcaq71#
您检查的是查询返回的行数,而不是状态值。
如果它是admin或user,并且有一个会话,那么它将始终返回true,因为其中有一个条目
users
table。如果不存在用户,则始终返回false。您需要检查sql返回的数据,并检查
Status > 0
或者更改sql并添加一个额外的检查Status > 0
u0njafvf2#
只是为了教育大家