or_like不能在codeIgniter

时间:2017-12-04 17:29:39

标签: php mysql codeigniter

我正在尝试使用多个类似的组合使用或在代码Igniter的mysql查询中运行查询。 我为此目的有以下代码。

$this->db->group_start();
                    foreach ($active['result'] as $outcode) {
                        $this->db->or_like('postcode',$outcode['outcode']);

                    }
                    $this->db->group_end();

除了每个部分之间包含 ESCAPE'!'的问题之外,它确实按预期创建了查询。 这是查询打印。

SELECT * FROM `tbl_service_providers` WHERE `is_active` >= 1 AND ( `postcode` LIKE '%SS13%' ESCAPE '!' OR `postcode` LIKE '%SS14%' ESCAPE '!')

2 个答案:

答案 0 :(得分:0)

您可以尝试使用$this->db->escape_like_str()

$this->db->or_like('postcode', $this->db->escape_like_str($outcode['outcode']));

答案 1 :(得分:0)

您可以尝试这样的事情:

 $this->db->group_start();
 foreach ($active['result'] as $k=>$outcode)
 {
   if($k == 0)
    {
        $this->db->like('postcode',$outcode['outcode']);
    }
    else
    {
       $this->db->or_like('postcode',$outcode['outcode']);
    }
 }
 $this->db->group_end();