繁体   English   中英

mysql插入如何转义斜线?

[英]How to escape slashes for mysql insert?

到处都有答案,我根本看不出我的代码有什么问题:

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

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

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

您不需要在该字符串中转义任何字符。


就是说, addslashes不适合并且mysql_real_escape_string (像所有mysql_ )已经过时了 ,您应该使用现代替换方法,并使用准备好的语句/绑定参数,而不是手动转义字符串。

因为 addslashes()在需要转义的字符之前返回带反斜杠的字符串。 这些字符是单引号('),双引号(“),反斜杠()和NUL(空字节)。

并且您的字符串不包含上述任何字符。

http://uk3.php.net/addslashes

返回需要转义的字符前带有反斜杠的字符串。 这些字符是单引号('),双引号(“),反斜杠()和NUL(空字节)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM