2012-04-06 23 views
0

我有一个SQL查询可以在旧版本的MySQL4上工作,但不会在我当前版本的5.5上工作我希望有人可以看到我不能工作看到这个。曾经工作过的SQL查询不再工作

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语句应该是相当自我解释的,它的作用是什么,我没有看到挂断的位置。如果它不返回任何内容,那么suppost返回一个列表,然后用户被拒绝。

+0

什么是'ADMIN :: SETTINGS :: VIEW''''?当然不是MySQL代码。引号出现在错误的地方。 ''ADMIN :: SETTINGS :: VIEW''如果它确实是一个字符串... – 2012-04-06 17:53:03

+3

定义“不起作用” – 2012-04-06 17:53:09

+0

你得到的结果是什么? – 2012-04-06 17:54:08

回答

0

说法是正确的,我忽略的事实,声明还检查以确保权限是在主权限表,即:tblprefix_permissions.permission_name我还没有把允许进入主权限表尚未

所以这让我很笨,或者只是累了大声笑对不起,伙计,虽然工作很好,并感谢您的快速反应

0

看起来你已经错误地放在引号的位置:

ADMIN::SETTINGS::VIEW'' 

反正......你肯定在MySQL 4的作品?

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

+0

这是我的许可错过粘贴LOL我的坏 – Manvaril 2012-04-06 18:39:08