我正在构建一个原始模板系统,并对某个用户级别可以访问的模板数量进行一些限制。所以我有一些这样的代码
if (is_premium($session_user_id)==true){
$userlevel = premium_level($session_user_id);
} else {
//if the user is not premium
$userlevel = 0;
}
然后在mysql上我有:
SELECT FROM `galleries` where `UserLevel` = 0 and `UserLevel` ='".$userlevel."'
因此,任何用户级别高于 0 的用户都可以访问所有免费用户模板以及他的用户级别模板。希望您仍然清楚,因为我不确定这是最好的方法,但无论如何。
因此,无论哪种情况,查询都将包含两个值第一个:UserLevel` = 0,始终为 0,第二个可能会根据用户级别而有所不同,但如果用户级别为 0(免费用户),查询将像这样执行:
SELECT FROM `galleries` where `UserLevel` = 0 and `UserLevel` =0
我只想问,这有什么问题吗?其中 userlevel=0 和 userlevel=0 ?
我想抽出一些时间来构建条件查询。
谢谢你。
更新: 所以在您的反馈之后,我决定进行条件查询。感谢您的时间。这是它现在的样子:
if (is_premium($session_user_id)==true){
//Check premium accont level
$userlevel = premium_level($session_user_id);
$statement = "`galleries` where `UserLevel` = 0 OR `UserLevel` ='".$userlevel."' ";
} else {
//if the user is not premium
$userlevel = 0;
$statement = "`galleries` where `UserLevel` = 0";
}
我认为这种方式更好。