Drupal 数据库接口(Database API):取得查询结果的多种方式

通过 db_query()db_select() 完成查询后,还需要从结果集中取出数据。其中 foreach() 循环就是最常用的一种方式:

$result = db_query("SELECT nid, title FROM {node}");
foreach ($result as $record) {
  // 执行某些操作
}

除此之外,基于不同的情况,还可以使用几种方式。这几种方式都可以取回下一条记录的值,如果不存在下一条记录,则返回结果为 FALSE

// 使用默认格式返回结果
$record = $result->fetch();

// 以对象(Object)格式返回结果
$record = $result->fetchObject();

// 以数组(Array)格式返回结果
$record = $result->fetchAssoc();

一般情况下很少会使用 fetch() ,因为 fetchObject()fetchAssoc()这两个方法的语义性比更强,让人一看就能明白返回的结果是哪种格式。

以上几种形式返回的结果都是对象或者数组,如果只想返回单个值,可以使用 fetchField()

// $record = $result->fetchField($column_index = 0);
$record = $result->fetchField();

$column_index 的默认值为 0,表示第一个字段,往后依次类推。 

使用 rowCo

剩余50%内容付费后可查看
* 提交阅读码查看付费内容 忘记阅读码?
看完了?还不过瘾?点此向作者提问
打赏一下,鼓励Ta创作更多好内容!