2015-11-12 101 views
-1

我有簡單的代碼PHP JSON編碼格式

$result = mysql_query("select * from wizard"); 

    $rows = array(); 
    while($r = mysql_fetch_array($result)) 
    { 
     $rows[] = $r;  
    } 
    echo json_encode($rows); 

我的結果

[{ 「0」: 「1」, 「ID」 爲 「1」, 「1」:「121 」, 「FID」: 「121」, 「2」: 「4」, 「meth_id」: 「4」, 「3」: 「A」,

代替

[{ 「ID」 爲 「1」, 「FID」: 「121」 ,「meth_id」:「4」,

這種類型的格式有什麼問題,我該如何解決這個問題。

謝謝

+2

你可以print_r($ r);'? – aldrin27

+0

你是否也試圖檢查'嚮導'的轉儲?請向我們顯示輸入。 –

回答

1

調用mysql_fetch_array時,需要包含第二個參數result_type,值爲MYSQL_ASSOC

while($r = mysql_fetch_array($result, MYSQL_ASSOC)) 

否則,MYSQL_BOTH使用默認值,你會得到與兩個關聯數組和一些指數http://php.net/manual/en/function.mysql-fetch-array.php,因此您的重複值的結果陣列英寸

此外,您不鼓勵使用不推薦使用的mysql_ *函數,而是使用MySQLiPDO,但這取決於您。

+0

非常感謝。它工作 – user3503409

+0

@ user3503409然後你可以upvote /接受我的答案 – Amarnasan

0

您可能需要檢查結果是否在json_encode得到的是一個array.Try使用mysql_fetch_assoc代替mysql_fetch_array