这是我的php代码
$result = mysql_query("select * from backup where owner='$email'") or die (mysql_error());
$dataCount = mysql_num_rows($result);
$row = mysql_fetch_array($result);
echo json_encode($row);它返回如下:
{"0":"1","id":"1","1":"2015","year":"2015","2":"55","necessities":"55","3":"10","savings":"10","4":"10","entertainment":"10"}这就是jsonviewer.stack.hu展示它的方式

fyi,表中只有一行数据。但是json_encode($row)似乎两次显示这个值,但首先使用数字(0-4)作为标签,然后使用列名(id、年份、必需品、储蓄、娱乐)作为标签。
如何使用列名使其仅显示一次值?
发布于 2015-07-27 08:49:11
将mysql_fetch_array更改为mysql_fetch_assoc。
mysql_fetch_array返回数值数组和关联数组中的结果行。
mysql_fetch_assoc作为关联数组返回结果行。
发布于 2015-07-27 08:50:01
http://php.net/manual/en/function.mysql-fetch-array.php
您可以给这个函数附加参数,包括MYSQL_ASSOC、MYSQL_NUM和MYSQL_BOTH。在你的情况下,你想要MYSQL_ASSOC。
但是,您应该使用mysqli而不是mysql。不再维护mysql函数。
http://php.net/manual/en/mysqli-result.fetch-array.php
发布于 2019-05-24 01:03:41
对于php的新版本(> 5.5),请使用mysqli_fetch_assoc而不是mysql_fetch_assoc。不推荐使用mysql_fetch_assoc函数,不再维护它:使用它将导致错误。
https://stackoverflow.com/questions/31648611
复制相似问题