0

我有一个适用于旧版本 MySQL4 的 SQL 查询,但不适用于我当前版本的 5.5 我希望有人能看到我看不到的东西。

select tblprefix_groups_permissions.permission_name
  from tblprefix_groups_permissions, tblprefix_users, tblprefix_permissions
 where tblprefix_groups_permissions.permission_name = tblprefix_permissions.permission_name
 and tblprefix_groups_permissions.group_id = tblprefix_users.group_id
 and (tblprefix_users.user_id = '==NUMERIC ID=='
 and (tblprefix_permissions.permission_name = 'ADMIN::SETTINGS::VIEW'
 or tblprefix_permissions.permission_name = 'ALL'))

SQL 语句对于它的作用应该是非常自我解释的,我看不出挂断可能在哪里。假设返回一个列表,如果它没有返回任何内容,那么用户就会被拒绝。

4

2 回答 2

0

该语句是正确的,我忽略了该语句还检查以确保权限位于主权限表中的事实,即:tblprefix_permissions.permission_name 我尚未将权限放入主权限表中

所以这让我变得愚蠢或只是累了大声笑对不起伙计们,干得好,感谢您的快速回复

于 2012-04-07T13:31:39.733 回答
0

看来您在这里错误地放置了引号:

ADMIN::SETTINGS::VIEW''

无论如何......你确定它适用于 MySQL 4 吗?

顺便说一句,您可以删除外部括号。

于 2012-04-06T17:54:18.253 回答