【发布时间】:2015-11-28 11:28:33
【问题描述】:
我在使用两个 like 语句和 where 在一起时遇到问题:
$this->db->select('something');
$this->db->where('WHERE',$var);
$this->db->where_in('WHEREIN', $var);
$this->db->like('LIKE1',$query);
$this->db->or_like('LIKE2',$query);
$query = $this->db->get('table');
我的查询必须选择LIKE1 或LIKE2,其中WHERE 和WHEREIN 为真。
如果我使用or_like,where 语句也得到or,
如果我只使用like,它就会变成like AND like 声明
有什么办法吗??
【问题讨论】:
-
您要创建的语句是什么? Codeigniter 实际创建的语句是什么?你可以通过
echoing$this->db->last_query();找到这个 -
SELECT
*FROMpicWHEREdoc= '123456' ANDplaceIN('1,2,3') ANDnameLIKE '%query%' ESCAPE ' !或codeLIKE '%query%' ESCAPE '!'通过idDESC 订购 -
我想要这样的东西:
docAND whereplaceAND (likecodeOR likename) -
SELECT * FROM pic WHERE doc = '123456' AND place IN('1,2,3') AND name (LIKE '%query%' ESCAPE '!' OR code LIKE '%query% 'ESCAPE '!' ) ORDER BY id DESC
标签: php sql codeigniter