0

我需要做类似这个 sql 查询的事情,但是在 codeigniter 中:

SELECT `table`.* FROM (`table`) WHERE `name` LIKE '%9%' OR `id` LIKE '%9%' AND (`name` LIKE '%f%' OR `id` LIKE '%f%')

我试图做这个代码:

$this->db->select('table.*');
$this->db->from('table');
foreach($data as $d){
    $this->db->like("name", $d)
    $this->db->or_like("id", $d);
}

但是sql中的结果是:

SELECT `table`.* FROM (`table`) WHERE `name` LIKE '%9%' OR `id` LIKE '%9%' AND `name` LIKE '%f%' OR `id` LIKE '%f%'

谢谢

4

2 回答 2

0
$this->db->select('*');
$this->db->from('tablename');
$this->db->like('name','9','both');
$this->db->or_like('id','9','both');
$this->db->like('name','f','both');
$this->db->or_like('id','f','both');
于 2013-12-06T10:29:50.197 回答
0

CI v2 中没有括号。您需要使用 where() 函数,例如:

 ->where('mysql in here', null, true);

在这种情况下,null 只是一个占位符;TRUE 不会添加 ` (反引号),而这通常只是在这里的方式。您可以在用户指南中查看更多信息

于 2013-11-02T22:32:57.550 回答