0
A
回答
2
不,如果您正确使用PDOStatement
,您绝对不需要addslashes
。您不需要额外的清理来防止SQL注入。但是,您可能仍然希望以其他方式进行验证。例如,您可能会检查电子邮件字段“看起来像”电子邮件地址,或确保纯文本字段不包含某些字符。最后,当您从输出文本数据库时,您可能必须转义(例如,使用htmlspecialchars
)。
+0
但是当我重新查询数据时,我仍然需要使用stripslashes吗? – Catfish 2010-09-24 01:37:31
+2
@Catfish,不,你的数据库不应该包含斜线转义的数据。 – 2010-09-24 01:38:17
相关问题
- 1. angularjs字符串变量使用消毒
- 2. mysql_real_escape_string()没有消毒变量
- 3. PDO&消毒日期/删除HTML
- 4. PDO password_verify,我需要消毒吗?
- 5. 消毒变量在PHP中AngularJS
- 6. PHP输入GET变量消毒
- 7. 消毒PHP变量,我过度使用它吗?
- 8. 消毒查询使用in_array()
- 9. 使用PHP消毒SVG
- 10. 消毒上传使用PHP
- 11. 使用AEM消毒输入
- 12. 使用caja来消毒Javascript?
- 13. 使用php消毒JSON
- 14. 在使用PDO时重用变量
- 15. 使用PDO设置MySQL会话变量()
- 16. PHP - (PDO)使用绑定变量执行
- 17. 使用PDO将变量绑定到LIMIT
- 18. PDO exec不想使用变量
- 19. PHP PDO查询不能使用变量?
- 20. pdo用php变量选择
- 21. PDO预处理语句 - 语法和消毒
- 22. php在pdo查询中使用变量或变量
- 23. PDO和变量php
- 24. PDO ::绑定变量
- 25. 消毒的Array
- 26. 消毒Vaadin RichTextArea
- 27. 消毒在Perl
- 28. VBScript SQL消毒
- 29. JavaScript消毒库
- 30. 消毒输入
PDO没有银弹。如果你使用SQL连接'name = $ name',而不是像'?,name = ?, id =?或:名称“,那么你什么都没有实现。 – mario 2010-09-24 02:34:41
我使用:名称,但名称和名称=之间有什么不同? – Catfish 2010-09-24 14:14:15