用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2141|回复: 1
收起左侧

如何使CI转义'%'

[复制链接]
发表于 2013-8-10 15:33:45 | 显示全部楼层 |阅读模式
escape_like_str明确说明不转义'%',因为它所调用的mysql_real_escape_string也不转义'%',这样以来就有个问题

我希望post一个查询参数,比如20T,然后查找文件名包含'20T'的,sql就要写成 ' like %20T%'
在没法escape的情况下,这个就写不出来,我手动添加'\'也是没用

实际上,官方的例子就是这样,

PHP复制代码
 
[align=left][color=#02166]$search = '20% raise';

[align=left][color=#02166]$sql = "SELECT id FROM table WHERE column LIKE '%".$this->db->escape_like_str($search)."%'";

 
复制代码

而且最后官方的例子输出也是
SQL复制代码
 
[color=#4f5155]SELECT id FROM TABLE WHERE COLUMN LIKE ' \% raise%'[/color]
 
复制代码


不知各位是如何解决的

 楼主| 发表于 2013-8-10 15:48:11 | 显示全部楼层
解决了,我在escape里,又加上了urlencode,虽然我觉得这样做并不好,可是没有现成的办法了

本版积分规则