簡體   English   中英

Codeigniter。 哪里有多個值的SQL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM