[英]From Query Result to Associative Array Codeigniter
我正在編寫一個新類來處理我的數據庫,我真的很想實現一些我在編程時通常會做的自定義功能。 這些功能之一是可以從查詢兩個字段中獲取內容,如下所示:
SELECT brandId,brandName FROM Brands;
並得到一個關聯數組,索引為my 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[0]
和$result[1]
之前,可能需要設置$result = array_values($result)
。
我建議您使用:
$result = $this->db->query($query);
然后執行:
foreach ($result->result() as $row) {
echo $row->brandId;
}
您可以閱讀文檔以獲取有關查詢結果的更多信息。
此處的文檔: https : //www.codeigniter.com/user_guide/database/results.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.