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

注意事项:
如支付后未自动显示完整内容,可点击“已支付?点此查询订单”进行查看。
如遇内容不符或缺失,请联系内容作者或平台客服(工作日 9:00-18:00)。

通过 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%内容付费后可查看
看完了?还不过瘾?点此向作者提问