mysql - 自动转义查询中的数据

标签 mysql escaping

有没有办法配置 mysql 或 php,以便在查询中,数据值自动转义?我读过有关 PDO 的内容,例如,Zend Framework 有一些自动执行此操作的数据库适配器 - 但在服务器端,是否没有任何配置可以避免必须在代码?

谢谢

大卫

最佳答案

isn't there any configuration that can be done to avoid having to take care of it in the code?

不完全是,不。这已经是tried - 结果是一团糟,现在每个人都讨厌。

没有“神奇功能”可以使查询安全 - 您传递给查询的每个参数都需要进行不同的清理(例如字符串与整数)。有些东西(比如动态表和列名)根本无法清理(甚至不能使用数据库库的字符串转义方法),因此您需要将它们与现有表和列的列表进行比较。

使用 PDO 的预准备语句(或 Zend Framework 数据库函数,据我所知,它包装了 PDO)是最接近于尽可能少做事的方法。

关于mysql - 自动转义查询中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7818239/

相关文章:

php - 不为空不能正常工作

mysql按天排序也有WHERE

php - 从 mysql 表 WHERE 字段 ='$array' 中选择?

php - 我如何在查询中写入不大于

PHP 到 MySQL 日期格式问题

javascript - 在 Javascript 中使用单引号和双引号转义和取消转义字符串

jpa - 为什么需要在 JPA 原生查询中转义反斜杠?

elasticsearch - 是否需要在 Elasticsearch 查询中转义保留字符?

c - 使用转义键进行字符串操作

python - PyParsing:使用反斜杠的 shell 样式空格转义