Lugir 2017-03-03 10:56
进行 Web 开发时,连接数据库进行增删改查的操作是必不可少的。在 Drupal 中,开发人员使用数据库抽象层提供的接口与数据库进行交互,而不直接操作数据库。(进行 Drupal 内核 API 的开发时除外)
使用数据库抽象层的主要意义有以下几点:
- 一次编写,多处运行。使开发人员开发的模块无需修改代码便可支持多种数据库(如 MySQL, MariaDB, PostgreSQL, SQLite)
- 允许开发人员更方便地进行复杂功能,如数据库的事务处理
- 接口结构化,方便构造动态请求或修改请求
- 进行安全检查,防御多种SQL攻击
- 维护统一的代码规范和风格
Drupal 数据库接口 db_query()
在 Drupal 中,可以使用 db_query()
, db_select()
执行查询操作,以及使用db_insert()
, db_update()
, db_delete()
执行插入、修改和删除操作。
对于非常简单的 SELECT
请求,可以使用 db_query()
函数,复杂的请求则应该使用 db_select()
。
注意:不要使用 db_query() 运行 INSERT, UPDATE 和 DELETE 请求,而应该使用对应的 db_insert(), db_update() 和 db_delete() 函数。
$query = db_query("SELECT nid, title FROM {node}");
SQL语句中的大括号用于标识表名(如 {node}),如果安装时设置了表前缀,系统会自动进行替换,从而方便多个 Drupal 安装在同一数据库
剩余50%内容付费后可查看