[英]Codeigniter. WHERE sql with multiple values
我有要按品牌名稱和權限ID進行過濾,然后顯示的內容。
我的問題是:當我發送一個值作為$ permission時,它可以正常工作。 但是,當用戶有多個permission_id時,它將不起作用。
WHERE permission_id
= 1,2,3;
我的選擇查詢有問題:
Codeigniter:
$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和$ permission的print_r看起來像這樣:
Hyundai
1,10,11,2,3,4,5,6,7,8,9
我希望我能提供足夠的信息,以幫助某人像這樣。
謝謝。
要針對多個值測試字段,您的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
的數組(不是逗號分隔的字符串)。
以$permission
為字符串,使用explode
:
$this->db->where_in('permission_id', explode(',', $permission));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.