首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

Mysql的like查询 特殊字符解决思路

2012-05-08 
Mysql的like查询 特殊字符我现在要做 mysql的like 模糊查询 select ... like %变量%。这个变量 可能含有

Mysql的like查询 特殊字符
我现在要做 mysql的like 模糊查询 select ... like '%变量%'。
这个变量 可能含有各种特殊字符,比如反斜杠“\”。
我看到对于反斜杠的模糊查询需要前面加两个反斜杠转换为“\\\”才可以正确查询。
我使用mysql_real_escape_string就不行了。
用c语言如何处理这种情况呢?
如果有两个或多个反斜杠呢?

[解决办法]
加斜杆只是为了转义用的。对于查询结果没有影响。
[解决办法]
特殊字符需要你在程序中做处理
[解决办法]
那你把他去掉。mysql_real_escape_string 是防SQL注入用的。将'"\n\r......等特殊字符转义。
[解决办法]
没办法只能特殊处理,首先,你的C语句中要对\转义一下,然后MYSQL还要在转义一下。
[解决办法]
你可以用 like 的 escape 关键字可以指定转义字符,默认是\ 指定为其他的就不会对\n等转义。同时mysql_real_escape_string 是你处理sql 注入时它会转义一些特殊字符,如果你用预处理,那么可以避免实用这个函数。万一like 模糊匹配不好,就用正则REGEXP来做。

热点排行