为什么我的简单PHP查询返回重复值?

时间:2015-10-12 18:43:39

标签: php mysql sql

当我使用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"}]

每个值都列出两次:一次作为正确的列名,一次作为列名的索引。有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:4)

mysqli_fetch_array()返回结果集的数字和asssociative数组。您需要使用mysql_fetch_assoc()来获取关联数组。

while ($row = mysqli_fetch_assoc($result)) {
    array_push($data, $row);
}