如何为mysql插入转义斜杠?

时间:2014-01-04 09:23:49

标签: php mysql

这在任何地方都得到了解答,我根本看不出我的代码有什么问题:

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

为什么在这些情况下都没有添加斜杠?

3 个答案:

答案 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字节)。