Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

PHP записывает в json только последний элемент массива, а надо, чтобы записывал все

Есть скрипт:

$res = file_get_contents('s.json');
$datas=json_decode($res,true);
$bbl = $db->query("SELECT * FROM badtblocks WHERE site='mailru'");
while ($row = $bbl->fetch()){

$datas['mailrubadblock']= $row['badblock'];
}
file_put_contents('s.json', json_encode($datas));

Записывается в файл 's.json' только последний элемент массива, а остальные нет. Где я ошибся?

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект

PDO: https://www.php.net/manual/ru/pdostatement.fetchall.php
MySQLi: https://www.php.net/manual/ru/mysqli-result.fetch-all.php
И не извращайся с циклом, если в нём всё равно никакой обработки не производишь.

Аватар пользователя
Профи

$datas['mailrubadblock'] = [];
while ($row = $bbl->fetch()) {

$datas['mailrubadblock'][] = $row['badblock'];
}