42 紧凑形式

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

    对于大多数插入查询,推荐的形式就是紧凑形式:

<?php
$nid db_insert('node')
  ->fields(array(
    'title' => 'Example',
    'uid' => 1,
    'created' => REQUEST_TIME,
  ))
  ->execute();
?>

    上面的代码就等价于执行下面的查询:

INSERT INTO {node} (title, uid, created) VALUES ('Example', 1, 1221717405);

    上面的代码,把插入流程的关键部分,链到了一起。

<?php
db_insert('node')
?>

    这一行代码为节点表创建了一个新的插入查询对象。

<?php
  ->fields(array(
    'title' => 'Example',
    'uid' => 1,
    'created' => REQUEST_TIME,
  ))
?>

    fields()方法的参数有多种形式,但是最常见的就是单个关联数组。数组的键,就是要插入的列名,数组的值就是要插入的对应值。这将会为指定的表生成一个插入查询对象。

<?php
  ->execute();
?>

    execute()方法告诉查询开始运行。除非调用这个方法,否则查询就不会执行。

    对于查询对象上的其它方法,返回的都是查询对象本身,但是execute()方法与此不同,它返回的是插入查询向数据库中插入记录的自增字段(如果存在的话)的值。这也就是为什么,在上面的例子中,我们把它的返回值,分配给了$nid。如果没有自增字段,那么execute()的返回值就未被定义,此时就不应该使用它的返回值。

    在大多数情况下,这就是插入查询的推荐形式。


Drupal版本: