Lugir 2017-03-08 21:53
除了 db_query(), db_select(),Drupal 中最常用的几个数据库接口还有 db_insert()
, db_update()
和db_delele()
。
db_insert()
在 Drupal 中,使用 db_insert()
函数来构造 INSERT
请求,通过不同的组合可以实现不同的操作方式。以下是一个简单的插入请求示例:
// *注意:本代码仅用于说明 db_insert() 的用法结构
// 实际使用时请勿用此方式添加节点记录
$nid = db_insert('node')
->fields(array(
'title' => 'Example',
'uid' => 1,
'created' => REQUEST_TIME,
))
->execute();
这个请求所返回的结果与以下请求是等价的
INSERT INTO {node} (title, nid, created) VALUES ('Example', 1, 1488980255);
对于 db_insert()
,execute()
方法将返回插入数据的自增值(auto-increment),所以在示例中直接将结果分配给了 $nid
变量。对于没有自增值的数据库表,则不建议直接将返回结果用于赋值。
如果需要进行多次 INSERT
请求,使用 fields()
方法时可以不设置值,而通过 values()
方法进行设置,相关示例如下:
db_insert('node')
->fields(array('title', 'uid', 'created'))
->values(array('Example 1', 1, REQUEST_TIME)
->values(array('Example 2', 1, REQUEST_TIME)
->values(arra
剩余50%内容付费后可查看