Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 30.12.2021
Сообщений: 9
1
MySQL

Неправильная запись JSON в базу данных

30.12.2021, 12:02. Показов 1057. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет)
Погрузился в одну небольшую задачу, которая состоит в том, чтобы получать данные с google.sheet и записывать полученные данные в базу. в базе всего 3 поля: ID, DATE, WEBHOOK. И вот именно с полем DATE наблюдается проблема (для справки, тип поля JSON). Когда пытаюсь обратиться к этому полю - то мне выдает закодированный тип, а не кириллицу.

Файл записи данных в БД. Напомню, что данные приходят в формате JSON из google.sheets.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$bd = mysqli_connect(Тут все есть);
if($bd == false){
    echo "Ошибка";
}else{
    echo "К базе подключено успешно!";
};
mysqli_set_charset($bd, "utf8");
 
for($i=0; $i<count($data["rows"]); $i++){
    
    $sql = "INSERT INTO request SET date='".json_encode($data["rows"][$i])."', webhook='".$data["webhook"]."'";
    $result = mysqli_query($bd, $sql);
};
При получении данных - пытаюсь их расшифровать с помощью json_decode, но результатов это не дает. Подскажите, пожалуйста, с чем может быть проблема?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2021, 12:02
Ответы с готовыми решениями:

неправильная запись в базу мускуля
Я новичек в пыхе начал писать свою форму регистрации. Суть проблемы: при регистрации даные...

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

Сохранение JSON в базу данных
Как сохранить в базу данных MySQL JSON объект не как строку а как тип JSON? Ведь в базе данных...

Json запрос, создание базу данных
Подскажите, пожалуйста. Нужно по этому шаблону создать клиента в базу данных (json). Мне...

Прочитать файл json в базу данных sql
Всем привет, может кто-нибудь на пальцах объяснить с подробностями, как зачитать файл формата json...

4
0 / 0 / 0
Регистрация: 30.12.2021
Сообщений: 9
30.12.2021, 13:34  [ТС] 2
Забыл указать, как данные хранятс в базе и в чем собственно ошибка(
Неправильная запись JSON в базу данных

Скриншот, как мы видим, в базе в поле date хранится JSON и с названием переменной name все хорошо, а вот с его значением не очень(
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
30.12.2021, 14:04 3
Цитата Сообщение от vnesvor2020 Посмотреть сообщение
с его значением не очень(
Используйте флаг JSON_UNESCAPED_UNICODE

Цитата Сообщение от vnesvor2020 Посмотреть сообщение
пытаюсь их расшифровать с помощью json_decode, но результатов это не дает
Покажите код "расшифровки" и что происходит при его запуске, какие именно ошибки возникают?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
30.12.2021, 14:28 4
Лучший ответ Сообщение было отмечено vnesvor2020 как решение

Решение

При записи JSON в БД используйте prepared statements или хотя бы mysqli_real_escape_string:
PHP
1
2
3
4
$date = mysqli_real_escape_string($bd, json_encode($data["rows"][$i]));
$webhook = mysqli_real_escape_string($bd, $data["webhook"]);
 
$sql = "INSERT INTO request SET date='{$date}', webhook='{$webhook}'";
0
1 / 1 / 0
Регистрация: 25.12.2021
Сообщений: 20
07.01.2022, 20:51 5
А почему не через PDO?
1
07.01.2022, 20:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2022, 20:51
Помогаю со студенческими работами здесь

Спроектировать схему базу данных на основе json файла
Добрый день! Только начинаю изучать Postgresql, и возник вопрос можно ли на основе json файла...

Запись данных в базу данных SQL и выгрузка таблицы в форму
Нужно сделать 2 формы, одну с несколькими textBox'ами, чтобы при нажатии кнопки информация...

Где ошибка? (Запись данных из массива в базу данных mysql)
Массив, генерирующий данные: $data = array(); for($i = 0; $i &lt; 100; $i++){ ...

Запись данных в базу данных mdb с использованием DataAdapter и DataSet
Попробовал сделать Update для таблицы контактов: private void Form1_Load(object sender,...

запись данных в json
Есть форма. С нее получаем данные POST'ом. Эти данные записываем в json файл. Проблема: кириллица...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru