当我使用PHP对MySQL数据库进行简单查询时,返回的对象会保留重复值。
这是我查询数据库的PHP代码:
$query = 'SELECT * FROM names';
$result = mysqli_query($connection, $query);
$data = array();
while ($row = mysqli_fetch_array($result)) {
array_push($data, $row);
}
echo json_encode($data);
返回的JSON对象(由Chrome控制台通过Javascript输出)如下:
[{"0": "1", "id": "1", "1": "Jeff", "name": "Jeff"},
{"0": "2", "id": "2", "1": "Andrew", "name": "Andrew"}]
每个值都列出两次:一次作为正确的列名,一次作为列名的索引。有谁知道为什么会这样?
答案 0 :(得分:4)
mysqli_fetch_array()
返回结果集的数字和asssociative数组。您需要使用mysql_fetch_assoc()
来获取关联数组。
while ($row = mysqli_fetch_assoc($result)) {
array_push($data, $row);
}