php - 我使用 Drupal 的 db_select 的查询只获取一项,应该获取变量

标签 php mysql drupal

所以我使用 db_select 查询进行 Drupal 查询。

我正在尝试获取最后一个 $i 值,但我只获取最后一个值。这是我的代码:

$query = db_select('registration');

$result = $query
->fields('registration', array('registration_id'))
->orderBy('registration_id', 'DESC')
->range(0, $i)
->execute()
->fetchAssoc();

注意,$i 是在程序中较早设置的,当我检查它时,它会提供正确的结果。

最佳答案

fetchAssoc() 方法仅获取行。要获得完整的结果集,您可以迭代所有结果,如下所示:

$result = $query
->fields('registration', array('registration_id'))
->orderBy('registration_id', 'DESC')
->range(0, $i)
->execute();

while ($row = $result->fetchAssoc()) {
    // do something
}

但是,由于您只选择一个字段,我认为更好的获取类型可能是 fetchCol()。如果您只是将查询中的 fetchAssoc() 替换为 fetchCol()$results 将等于所有结果的零索引数组。

关于php - 我使用 Drupal 的 db_select 的查询只获取一项,应该获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18222283/

相关文章:

php - 通知 : Undefined offset: 2 in wysiwyg's ckeditor. 公司

php - Mysql查询CONCAT改变输出

php - mysql 对数据结果进行 A-Z 排序并用行分割每个部分

mysql - 在 MySQL 中存储 SHA1 哈希值

php - 复杂的 Laravel 关系

drupal - 如何设置 pdf 文件的下载链接?

php - 使用 MYSQL 查询数据和 jQuery 自动完成

php - 在 PHP 中使用 css 类

mysql - 如何根据时间间隔生成序列号

drupal - 如何创建包含全尺寸和缩略图图像的 View