您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

php 单引号转义设置

php 单引号 转义

PHP页面中如果不希望出现以下情况:

单引号被转义为 \'

双引号被转义为 \"

那么可以进行如下设置以防止:

方法一:在php.ini中设置:magic_quotes_gpc = Off

方法二: $str=stripcslashes($str)

昨天我以为是mysql自身的优越之处,今天方知道是双方各自提供了机制。

附mysql的一些转义字符:

\0

一个ASCII 0 (NUL)字符。

\n

一个新行符。

\t

一个定位符。

\r

一个回车符。

\b

一个退格符。

\'

一个单引号(“'”)符。

\"

一个双引号(“"”)符。

\\

一个反斜线(“\”)符。

\%

一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。

\_

一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。

注意,如果你在某些正文环境中使用“\%”或“\%_”,这些将返回字符串“\%”和“\_”而不是“%”和“_”。

有几种方法在一个字符串内包括引号:

一个字符串内用“'”加引号的“'”可以被写作为“''”。

一个字符串内用“"”加引号的“"”可以被写作为“""”。

你可以把一个转义字符(“\”)放在引号前面。

一个字符串内用“"”加引号的“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串内用“'”加引号的与“"”也不需要特殊对待。

引用:http://www.xland.com.cn/article/7/81/0511/6389.htm

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

1 楼 test 发表于 2009-5-5 From IP: 218.20.49.1
test
作者主页: http://test.com
2 楼 站长 发表于 2008-3-21 From IP: 125.31.198.20
经过测试,如果php.ini中的配置magic_quotes_gpc = on时,如果再次进行转义替换,也会造成mysql语句错误;比较安全的做法是,使用strictcslashes函数绕过magic_quotes_gpc设置,不过是on还是off,都可以得到用户提交的原始字符串,然后在手工进行转义。这样才不会依赖于php.ini的服务器配置。
作者主页: 
内容/Content