【发布时间】:2012-04-21 14:28:51
【问题描述】:
我正在使用 php 开发我的个人网站。一切都很好,但我刚刚阅读了php.net 中的mysql_real_escape_string 手册并发现了两件事:
- 在向 MySQL 发送查询之前,必须始终(除少数例外)使用此函数来确保数据安全。
- mysql_real_escape_string() 不会转义 % 和 _。如果与 LIKE、GRANT 或 REVOKE 结合使用,这些是 MySQL 中的通配符。
我有两个问题:
1-这些例外是什么?
2- 如何转义这些字符?
【问题讨论】:
-
你应该使用PDO。做你的个人网站是一个很好的学习机会。
-
第 2 点指的是
LIKE子句,与在其他上下文中使用字符串数据无关。 -
其中一个异常可能是已经转义的字符串。
标签: php mysql escaping wildcard