2015-11-12 63 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