mysql转义字符的问题
在php.ini中设置了 magic_quotes_gpc = On
或者在程序运行时进行了转义字符
那么存入mysql数据表中的 ‘ 将会变成 \’
反过来显示的时候
将会用到下面的函数进行处理。
- //从数组/字符串中批量反转义字符 \' => '
- function un_magic_quote($value) {
- $value = is_array($value) ? array_map("un_magic_quote", $value) : stripslashes($value);
- return $value;
- }
- //从数组/字符串中批量反转义字符 ' => \'
- function magic_quote($value) {
- $value = is_array($value) ? array_map("magic_quote", $value) : addslashes($value);
- return $value;
- }
参数$value的类型可以是数组或者字符串
这样得出来的值就会变成 ‘ 而不是 \’ 了。
在用SELECT … LIKE … 这个字段的时候,
要这样写
- SELECT * FROM TABLE_NAME WHERE TABLE_FIELD LIKE "%\\\'%"
这样可以把带有 \’ 的数据搜索出来,注意这里是”而非’
