我需要像这样使用 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添加的。
谢谢
文档指出:
注意:传递给此函数的所有值都会自动转义。
基本上,您无法将原始
"%"
传递给 ->like()
。也就是说,您无法完全控制通配符的去向;这很接近:
$this->db->like(['name' => 'Spinner', 'name' => '60'])
它会生成类似以下内容:
WHERE name LIKE '%Spinner%' AND name LIKE '%60%'