2015-03-31 45 views
-1

我对PHP中这种类型的东西并不十分熟悉,但它不太适用。在我分享代码和问题之前,让我告诉你我的目标是什么。我的目标是在数据库中进行ENUM选择,值为'1','2','3',1是普通用户,2是主持人,3是管理员。PHP中的权限级别与枚举不起作用

下面是代码:

$checkpermission = mysql_query("SELECT permission FROM users "); 
$checkpermnrows = mysql_num_rows($checkpermission); 

if ($checkpermnrows != 0) { 
    if ($checkpermission == 2) { 
     echo "User Group: Moderator"; 
    } else { 
     echo "User Group: User"; 
    } 
} else { 
    echo "Rows not found"; 
} 

,如果有人也可以训斥我如何设置会话这种类型的东西,我敢肯定,这将是更好的... ...

+1

这是不是一个好主意,使用数值为'ENUM'。 MySQL手册解释了原因。 – Barmar 2015-03-31 02:29:16

+0

使用'ENUM'的通常点是将该值存储为一个小整数,但使用输入/输出到数据库的名称。 – Barmar 2015-03-31 02:30:20

+0

@Barmar然后什么是好的选择? – deconv 2015-03-31 02:30:32

回答

0

假设登录的用户ID在$user,你会这样做:

$checkpermission = mysql_query("SELECT permission FROM users WHERE id = $user"); 
$row = mysql_fetch_assoc($checkpermission); 
if ($row) { 
    $permission = $row['permission']; 
    if ($permission == 'moderator') { 
     echo 'User Group: Moderator'; 
    } else { 
     echo 'User Group: Users'; 
    } 
} else { 
    echo "Rows not found"; 
} 
+0

这工作完美无瑕!非常感谢! – deconv 2015-03-31 04:02:43

+0

这是你应该能够从任何PHP + MySQL教程中获得的基本东西。我感到内疚,把它作为答案。 – Barmar 2015-03-31 04:04:47

+0

我会去教程和学习完全相同的东西,而不仅仅是告诉我它会有什么不同? – deconv 2015-04-03 00:20:45