我正在尝试运行的查询的代码是
$query = $this->db->select("*")->from('items')->like("replace(name,'=',' ')","foo bar",'both')->get(); $items = $query->num_rows();
MySQL查询字符串是
SELECT replace(name,' = ',' ') FROM `items`
代码正在做的是在编译查询时在“=”之前和之后添加一个空格,导致“=”返回没有结果,因为名称中没有带“=”的项,只有“=”.
foo=bar,replace(name,' ') returns 1 result. foo = bar,' ') returns 0 results.
我正在使用的CodeIgniter版本是:3.0.6
我在我的CodeIgniter副本上测试了这个,当这样格式化时它可以正常工作:
$items = $this->db->like("replace(name,'both')->get('items')->num_rows();
几点说明:
>你不需要from(),你可以将表格滑入get()方法.>您可以链接您的方法,因此您只需要分配一个变量.>省略select()方法意味着选择(‘*’).