如何在CI中设置通配符选项 - > like()

时间:2014-10-10 10:16:57

标签: codeigniter codeigniter-2

我需要像这样使用CI格式化我的SQL,

SELECT *
FROM (`items`)
WHERE `name`  LIKE '%Spinner%60%'
ORDER BY `name` asc

这是我的数据库查询

$search = str_replace(" ","%",$search);

$this->db->from('items');
$this->db->like('name', $search);
$this->db->order_by("name", "asc");

但我明白了,

SELECT *
FROM (`items`)
WHERE `name`  LIKE '%Spinner\%60%'
ORDER BY `name` asc

如何防止*黑色斜线(\)*

注意:此黑色斜杠由CI添加。

由于

1 个答案:

答案 0 :(得分:0)

documentation州:

  

注意:传递给此函数的所有值都会自动转义。

基本上,您无法将原始"%"传递给->like()。也就是说,你无法完全控制通配符的去向;这很接近:

$this->db->like(['name' => 'Spinner', 'name' => '60'])

它会产生类似的东西:

WHERE name LIKE '%Spinner%' AND name LIKE '%60%'