Объединить несколько объектов Array в цикле while, затем JSON Encode

В результате я пытаюсь получить одну строку JSON из моей базы данных, но база данных возвращает несколько строк данных, которые при кодировании JSON не соответствуют правильному форматированию.

Мой текущий код PHP

$conn = [omitted];
$sql = [omitted];
$result = $conn->query($sql); //this query has been proven to work
if ($result->num_rows > 0) {
$rows = [];
while($row = $result->fetch_assoc()) {
$row[] = array_merge($row,$rows);
}
echo json_encode($rows);
} else {
echo "0";
}

Но этот код повторяет $rows массив, прежде чем он был объединен с $row массивы.

Текущий результат:

[]

Требуемый результат:

[{"id":"1","team_name":"[omitted]","has_finished":"0"},{"id":"2","team_name":"[omitted]","has_finished":"0"},{"id":"3","team_name":"[omitted]","has_finished":"0"},{"id":"4","team_name":"[omitted]","has_finished":"0"},{"id":"5","team_name":"[omitted]","has_finished":"0"},{"id":"6","team_name":"[omitted]","has_finished":"0"},{"id":"7","team_name":"[omitted]","has_finished":"0"}]

0

Решение

Вы никогда не назначаете какие-либо данные в свой массив строк. Чтобы назначить каждую строку в массиве, вы хотите это для вашего цикла.

while($row = $result->fetch_assoc()) {
$rows[] = $row;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector