gpt4 book ai didi

drupal - 可以将 Drupal db_query 的结果转换为 PHP 数组吗?

转载 作者:行者123 更新时间:2023-12-04 01:16:48 25 4
gpt4 key购买 nike

在 Drupal 中,我可以按如下方式执行 SQL:

$query_object = db_query("SELECT * FROM {nodes}");

如果我知道查询只返回一个结果(所以只有 1 行和 1 列),我可以直接使用:
$result = db_result($query_object);

如果我得到多个结果,我需要使用以下内容循环它们:
$rows[] = array();
while (($row = db_fetch_object($query_object) != FALSE) {
$rows[] = $row;
}

我想知道是否有更简单的方法来做到这一点?有没有一种方法可以使用单个语句将所有结果传输到数组中?或者这不起作用,因为 db_result 返回一个类似游标的对象,每次只能获取一行?

最佳答案

不在 Drupal 6 中。

在 Drupal 7 中,有一些 fetch 方法可以帮助避免这样的循环。来自 http://drupal.org/node/310072 :

<?php
// Retrieve all records into an indexed array of stdClass objects.
$result->fetchAll();

// Retrieve all records into an associative array keyed by the field in the result specified.
$result->fetchAllAssoc($field);

// Retrieve a 2-column result set as an associative array of field 1 => field 2.
$result->fetchAllKeyed();
// You can also specify which two fields to use by specifying the column numbers for each field
$result->fetchAllKeyed(0,2); // would be field 0 => field 2
$result->fetchAllKeyed(1,0); // would be field 1 => field 0

// Retrieve a 1-column result set as one single array.
$result->fetchCol();
// Column number can be specified otherwise defaults to first column
$result->fetchCol($column_index);
?>

关于drupal - 可以将 Drupal db_query 的结果转换为 PHP 数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com