我的查询有什么问题?当我执行该查询时,应用程序始终显示
错误号:1064您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便在`acl_module_gro'中使用')
d
。{module_id =b
。module_id)privileges
附近的正确语法。在第5行"。
这是我的模特的功能:
$str_group = ''; $qry = "select * from acl_usergroup_member where user_id=$user_id"; $j = $this->db->query($qry); if($j->num_rows > 0){ $data = $j->result(); foreach ($data as $row) { if($str_group=='') { $str_group .= $row->group_id; }else{ $str_group .= ','. $row->group_id; } } }
$query = "select distinct id, name from (
select `a`.id,`a`.name,`b`.module_id,`b`.module_group_id,
`c`.module_name,`c`.description,`c`.module_url,
(select max(priv) from `acl_usergroup_priv` `d` where
`d`.group_id in ($str_group) and `d`.module_id=`b`.module_id)`privileges`
from `acl_module_group` `a`
inner join `acl_module_group_member` `b` on `a`.id=`b`.module_group_id
inner join `acl_module` `c` on `b`.module_id=`c`.id)xview
where `privileges` > 0";
$i = $this->db->query($query);
return ($i->num_rows > 0) ? $i->result() : array();
谢谢!
答案 0 :(得分:0)
if($j->num_rows > 0){
$data = $j->result();
foreach ($data as $row)
{
if($str_group=='')
{
$str_group .= $row->group_id;
}else{
$str_group .= ','. $row->group_id;
}
}
$str_group = trim($str_group, ","); <--- update this code here and check
}
使用此代码更新您的代码可能会对您有所帮助。