这在任何地方都得到了解答,我根本看不出我的代码有什么问题:
print 'https://www.facebook.com/someURL'.'<br />';
print addslashes('https://www.facebook.com/someURL').'<br />';
print mysql_real_escape_string('https://www.facebook.com/someURL').'<br />';
输出是:
https://www.facebook.com/someURL
https://www.facebook.com/someURL
https://www.facebook.com/someURL
为什么在这些情况下都没有添加斜杠?
答案 0 :(得分:4)
为什么在这些情况下都没有添加斜杠?
您没有任何需要在该字符串中转义的字符。
也就是说,addslashes
不合适且mysql_real_escape_string
(与所有mysql_
一样)obsolete,您应使用modern replacement并使用{{ 3}}而不是手动字符串转义。
答案 1 :(得分:2)
因为 addslashes()
在需要转义的字符之前返回带有反斜杠的字符串。这些字符是单引号(&#39;),双引号(&#34;),反斜杠()和NUL(NULL字节)。
和您的字符串不包含任何上述字符。
答案 2 :(得分:2)
来自http://uk3.php.net/addslashes:
在需要转义的字符之前返回带反斜杠的字符串。这些字符是单引号('),双引号(“),反斜杠()和NUL(NULL字节)。