我有内容,我想通过品牌名称和权限ID进行过滤,然后显示它。
我的问题是: 当我发送一个值为$ permission时,它工作正常。但是当用户有多个permission_id时,它就无法工作。
WHERE permission_id
= 1,2,3;
我的选择查询存在问题:
笨:
$this->db->select('*');
$this->db->from('content');
$this->db->where('brand_name', $brand);
$this->db->where('permission_id', $permission);
SQL:
SELECT * FROM `content` WHERE `brand_name` = $brand_name AND `permission_id` = $permission;
$ brand&的print_r $ permission看起来像这样:
Hyundai
1,10,11,2,3,4,5,6,7,8,9
我希望我能够为某人提供足够的信息来帮助我。
谢谢。答案 0 :(得分:3)
要针对多个值测试字段,您的SQL应该不像:
WHERE permission_id = 1, 2, 3;
我不知道你的permission_id
字段是什么样的,但我想你的情况应该是:
WHERE permission_id IN (1, 2, 3);
尝试where_in
:
$this->db->where_in('permission_id', $permission);
其中$permission
是包含权限的数组(不是以逗号分隔的字符串)。
如果$permission
是字符串,请使用explode
:
$this->db->where_in('permission_id', explode(',', $permission));