Lugir 2017-03-06 20:20
通过 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%内容付费后可查看