SuperTaoer::Thanksgiving

向朋友们推荐一本科幻杂志,名字为<<惊奇档案>> 科幻世界,售价10元,月刊,网址是:幻想在线

五月 22, 2006

mysql转义字符的问题

类归于: 程序 技术 — SuperTaoer @ 7:54 上午

在php.ini中设置了 magic_quotes_gpc = On
或者在程序运行时进行了转义字符
那么存入mysql数据表中的 ‘ 将会变成 \’
反过来显示的时候
将会用到下面的函数进行处理。

  1. //从数组/字符串中批量反转义字符 \' => '
  2. function un_magic_quote($value) {
  3.    
  4.     $value = is_array($value) ? array_map("un_magic_quote", $value) : stripslashes($value);
  5.  
  6.     return $value;
  7. }
  8.  
  9. //从数组/字符串中批量反转义字符 ' => \'
  10. function magic_quote($value) {
  11.    
  12.     $value = is_array($value) ? array_map("magic_quote", $value) : addslashes($value);
  13.  
  14.     return $value;
  15. }

参数$value的类型可以是数组或者字符串
这样得出来的值就会变成 ‘ 而不是 \’ 了。
在用SELECT … LIKE … 这个字段的时候,
要这样写

  1. SELECT * FROM TABLE_NAME WHERE TABLE_FIELD LIKE "%\\\'%"

这样可以把带有 \’ 的数据搜索出来,注意这里是”而非’



Leave a Message

No Messages

No Messages

RSS feed for comments on this post. TrackBack URI

Leave a Message





Powered by WordPress