众所周知,PHP 中的魔术引号已经被弃用,这样做是为了阻止依赖此功能来防止 SQL 注入(inject),并鼓励开发人员开发特定于数据库的转义机制。[来源:php.net] 这真的是吗?有必要吗?
如果是,
为什么?为什么我们不能只使用mysql_real_escape_string()
、addslashes()
和 stripslashes()
等函数来实现同样的事情,而不是开发一个不同的转义机制?
如果有示例的答案,我们将不胜感激。谢谢
最佳答案
mysql_real_escape_string()
已经是数据库特定的转义机制:)
如果您正在为新项目选择数据库层,请务必查看 PDO其准备好的语句将自动处理任何必要的转义。
关于php - 为不同的项目开发不同的数据库特定转义机制有多重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3317936/