You are here

11 静态查询

admin 的头像
Submitted by admin on 星期四, 2015-06-04 01:51

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

    Drupal中最常见的查询方式就是静态查询。静态查询通常会被一字不差的传递给数据库。通常只有选择查询才可以是静态的。

    对于特别简单的查询,通常应该适用静态查询机制。对于更加复杂的查询,比如动态生成的查询或者其它类似查询,则应该使用动态查询。

    静态查询的内部方式是使用query方法:

<?php
$result $conn->query("SELECT nid, title FROM {node}");
?>

    经过过程化包装的方式,则更常用:

<?php
$result db_query("SELECT nid, title FROM {node}");
?>

    上面db_query()函数的调用,等价于下面的语句:

<?php
$result Database::getConnection()->query("SELECT nid, title FROM {node}");
?>

    为什么过程化的版本更受欢迎?其中因为Drupal本身主要采用过程化的方式,此外使用db_query是为了保持对Drupal6的兼容,还有就是这样语法更加简洁。

    db_query()有3个参数。第一个参数就是查询字符串,在这里所有的数据库表名需要使用花括号进行封装,此外在合适的地方可以使用占位符。第2个参数是包含占位符值的数组。第3个参数是一个可选的包含配置指令的数组,用来指示查询的执行方式。


Drupal版本: