我完全困惑,我已经阅读了一些帖子,但仍然不确定。我不想走准备好的声明路线,因为这个网站只在我们的内部网上。我已经阅读了以下帖子,但我仍然不确定。
我的问题:我应该使用 mysql-real-escape-string
SELECT * FROM ......
例如在 this post它指出:
You need to call this function when building SQL queries with string literals. You should not call it anywhere else.
最佳答案
准备好的语句所做的(除其他外)是调用类似于 mysql_real_escape_string() 的方法
如果你不使用PDO,什么都好,你必须明白你在做什么,你会得到同样的安全级别。
唯一且简单的规则是 all raw data needs mysql_real_escape_string()
(或来自其他语言的类似内容)
例子是:
- 来自用户输入的数据
- 您在 DB 上存储 RAW 的数据(witch 是最好的方法)并且您正在使用新的 sql 语句
- 来自未知/其他来源的数据
详细信息是:
- 确保不要申请两次(以正确保存数据)
关于php - 什么时候使用mysql真正的转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9737130/