Mysql的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来做。

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

相关文章:

你感兴趣的文章:

标签云: