2015-10-12 2 views
-1

Когда я использую PHP, чтобы сделать простой запрос в базе данных MySQL, объект возвращается имеет повторяющиеся значения.Почему мой простой PHP-запрос возвращает повторяющиеся значения?

Это 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

не можете ли вы напечатать_r ($ row); внутри вашего времени? –

ответ

4

mysqli_fetch_array() возвращается как числовой и asssociative массива в результирующем. Вы должны использовать mysql_fetch_assoc(), чтобы получить только ассоциативный массив.

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

ah простой исправление! Спасибо! – jpecht

Смежные вопросы