【发布时间】:2010-03-03 17:02:27
【问题描述】:
- 我目前正在开发一个使用 MySQL 数据库作为后端的 PHP 应用程序
- 我的所有查询都包含反引号以转义字段名称。这样我就可以在查询中包含“密码”之类的字段而不会引起问题(参见示例)
- 我知道反引号在关系数据库引擎之间并不通用(例如,SQLite 使用双引号)
- 我的 php 应用程序中的所有查询都是使用 PHP 的 PDO 接口执行的
我的问题是:如果我想切换数据库引擎,比如从 MySQL 切换到 SQLite,我需要做什么来处理所有查询中的反引号?我真的不想遍历我的所有代码并更改/删除反引号。有什么建议么?我做错了什么或不在最佳实践的范围内?
示例查询:
SELECT
`username`,
`password`,
`email_address`
FROM
`users`
WHERE
`id` = '1'
【问题讨论】: