从查询结果到关联数组代码点火器



我正在编写一个新类来处理我的数据库,我真的很想实现一些我在编程时通常做的自定义功能。 其中一个功能是可以从查询两个字段中获取,如下所示:

SELECT brandId,brandName FROM Brands;

并且有一个结果,一个关联数组索引为我的brandId,值brandName.

这是我到目前为止尝试的,但应用程序似乎卡住了,无法产生任何错误消息,只是无法完成加载

function getColHash($query){
$output = array();
while ($result = $this->query($query)->result()) {
$output[$result[0]] = $result[1];
}
return $output;
}

一些提示将不胜感激

$result = $this->query($query)->result();执行查询并将所有结果提取到$result中。只要查询返回任何行,在这样的 while 循环条件下执行该行将是无限的。

您可以先获取结果,然后迭代它们以生成输出。此外,它看起来像result()返回一个对象数组,因此您可能想要result_array()

$results = $this->query($query)->result_array();
foreach ($results as $result) {
$output[$result[0]] = $result[1];
}

我不确定 Codeigniter 是否返回带有数字索引和字符串索引的结果数组,因此您可能需要先设置$result = array_values($result),然后才能引用$result[0]$result[1]

我建议你使用:

$result = $this->db->query($query);

然后做:

foreach ($result->result() as $row) {
echo $row->brandId;
}

您可以阅读文档以获取有关查询结果的更多信息。

此处为文档:https://www.codeigniter.com/user_guide/database/results.html

相关内容

  • 没有找到相关文章

最新更新