这是我的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"}
fyi,表格中只有一行数据。但似乎json_encode($ row)显示两次值,但首先使用数字(0 - 4)作为标签,然后它使用列名(id,year,necessities,savings,entertainment)作为标签。
如何使用列名?
使其仅显示一次值答案 0 :(得分:3)
http://php.net/manual/en/function.mysql-fetch-array.php
您可以提供此功能性附加参数,包括MYSQL_ASSOC
,MYSQL_NUM
和MYSQL_BOTH
。在您的情况下,您需要MYSQL_ASSOC
。
但是,您应该使用mysqli
而不是mysql
。不再维护mysql
个函数。
答案 1 :(得分:1)
将mysql_fetch_array
更改为mysql_fetch_assoc
。
mysql_fetch_array
返回数字和关联数组中的结果行。
mysql_fetch_assoc
将结果行作为关联数组返回。
答案 2 :(得分:1)
对于新版本的php(> 5.5),请使用 mysqli_fetch_assoc
而不是mysql_fetch_assoc
。
mysql_fetch_assoc
函数已被弃用,不再被维护:使用该函数会导致错误。