Как SQL запрос получить в JSON?
Добрый вечер.
Как можно получить ответ SQL в JSON, например такого?
SELECT `cat_id`,`title` FROM `product`;
Дополнительно:
echo json_encode($mysqli->query("SELECT `cat_id`,`title` FROM `product`")->fetch_all(MYSQLI_ASSOC)); |
echo json_encode($mysqli->query("SELECT `cat_id`,`title` FROM `product`")->fetch_all(MYSQLI_ASSOC));
?
2. Укажите точно используемую СУБД. Включая точную версию.
3. Покажите пример вывода показанного запроса (2-3 записи) и желаемый для именно этих данных выходной JSON.
$sql = 'SELECT `cat_id`,`title` FROM `product`;'; $res = $mysqli->query($sql); $rows = $res->fetch_all(MYSQLI_ASSOC); //ответ из базы echo json_encode($rows); // json |
$sql = 'SELECT `cat_id`,`title` FROM `product`;'; $res = $mysqli->query($sql); $rows = $res->fetch_all(MYSQLI_ASSOC); //ответ из базы echo json_encode($rows); // json
- mysqli_close лишнее, а вот обратные апострофы убирать из запроса специально не следовало.
этот запрос конечно и без них сработает, но если автор вопроса пишет более правильный код, то не надо его ухудшать - FanatPHP, Вы правы
- Володимир Паламар, Спасибо за помощь.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы получить результат SQL запроса в формате JSON, вы можете воспользоваться функцией JSON_ARRAYAGG в MySQL или функцией JSON_OBJECTAGG в PostgreSQL.
Пример для MySQL:
SELECT JSON_ARRAYAGG(JSON_OBJECT('id', id, 'name', name)) AS result FROM your_table;
Здесь мы используем функцию JSON_ARRAYAGG для создания массива объектов JSON, где каждый объект содержит поля id и name из таблицы your_table.
Пример для PostgreSQL:
SELECT JSON_OBJECTAGG(id, to_jsonb(your_table)) AS result FROM your_table;
Здесь мы используем функцию JSON_OBJECTAGG для создания объекта JSON, где ключами будут значения поля id, а значениями будут объекты JSON, содержащие все поля таблицы your_table.
Оба этих запроса вернут результат в формате JSON, который можно использовать в вашем приложении или веб-сервисе. Не забудьте заменить your_table на имя вашей таблицы и добавить необходимые условия и фильтры для получения нужных данных.