我有简单的代码
$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”,
这种格式有什么问题,我该如何解决呢?
谢谢
答案 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的数组,因此您在结果数组中有重复的值。
答案 1 :(得分:0)
您可能需要检查json_encode中的结果是否为数组。请尝试使用mysql_fetch_assoc
代替mysql_fetch_array
。