2011-05-19 57 views
1
$query = "select * from tblRecords where record_category = '" . $cat . "' order by record_artist"; 
$result = $link->query($query); 

這是我使用的查詢來獲取結果,這工作正常。PHP將mysql-results double添加到數組。

while($record = $result->fetch_array()) { 
     array_push($arr_result, $record); 
} 

這是我將每個值添加到數組的代碼。但經過

echo json_encode($arr_result); 

這是結果集,我收到:

http://i.stack.imgur.com/Gmggl.png

我在做什麼錯?

+0

嘗試的var_dump在while循環 – Catalin 2011-05-19 12:47:29

回答

0

有像PHP fetch_array()沒有作用,我認爲你是使用預定義的MySQL類內部調用mysql_fetch_array(),所以檢查課程,實際上你會得到正確的結果,但通過使用MYSQL_BOTH默認),您將得到一個包含關聯和數字索引的數組。

使用

$row = mysql_fetch_array($result, MYSQL_ASSOC)); 

或者

$row = mysql_fetch_array($result, MYSQL_NUM)); 

你一定是忘了寫一個說法與fetch_array()

reference

+2

MySQLi結果集有一個名爲fetch_array的方法。 – 2011-05-19 13:00:32

+0

@EmilVikströmOP沒有描述,所以我期待作爲一般的PHP函數與MySQL。無論如何感謝知識 – diEcho 2011-05-19 13:08:18

2

你需要通過=>MYSQL_ASSOC價值fetch_array功能

外觀上:如果沒有更多的http://php.net/manual/en/function.mysql-fetch-array.php

返回一個字符串數組, 對應於提取行,或 FALSE行。返回數組的 類型取決於如何定義 result_type。通過使用 MYSQL_BOTH(默認),您將得到一個 數組,其中包含關聯索引和數字索引 。使用MYSQL_ASSOC,您只有 獲得關聯索引(如 mysql_fetch_assoc()工作),使用 MYSQL_NUM,您只能獲得數字索引 (如mysql_fetch_row()工作)。

+1

($記錄)。換句話說,在'fetch_array()'版本都將創建規則排列和結果的哈希版本。 – 2011-05-19 12:49:05

0

fetch_array將返回既是數字和一個關聯數組 - 相反,使用fetch_array_assoc()