您引用的内容可能来自文档,但据我所知不一定是正确的。
addslashes在通常令人不安的字符上添加斜杠。
mysql_real_escape_string转义MySQL需要转义的所有内容。这可能比
addslashes需要照顾的字符更多或更少。
同样,
mysql_real_escape_string也不一定会添加斜杠来进行转义。尽管我认为这样做是可行的,但最新版本的MySQL通过将两个引号放在一起而不是在其前面加上斜线来转义引号。
我认为您应该始终使用数据提供程序的转义功能而不是
addslashes,因为
addslashes可能会执行过多或不足的工作以达到使用目的。另一方面,
mysql_real_escape_string
知道
如何做准备将字符串嵌入查询中的字符串。即使规范更改了如何转义的内容,并且突然之间您不再使用反斜杠,您的代码仍然可以正常工作,因为您
mysql_real_escape_string会意识到这一点。



