作者:老葛,北京亚艾元软件有限责任公司,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()的返回值就未被定义,此时就不应该使用它的返回值。
在大多数情况下,这就是插入查询的推荐形式。