@Yasuro

Почему mysql экранирует кавычки в json?

Создал таблицу, сделал поле типом json.
Записал в это поле из php массив, предварительно преобразовав его в json. Json вложенный. Записалось все как надо.
Теперь добавляю в это поле аналогичнные записи с помощью JSON_ARRAY_APPEND(), и в итоге добавляется такая запись: "{/"prop1/":/"value1/"}" . Теряется вся суть json в mysql.
Код с php:
$array=array(
"prop1"=>"value1",
"prop2"=>"value2"
);
$jsArr=json_enecode($array);
$sql="update user from friend set=JSON_ARRAY_APPEND(user,'$','".$jsArr."')";

Что я делаю не так?
P.s работаю не давно с php и sql, писал по памяти, возможно ошибся в синтаксисе,но суть думаю понятна.
  • Вопрос задан
  • 512 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что вы передаёте не JSON, а строку. Если хотите, чтобы она воспринималась именно как JSON, укажите это явно через CAST('$jsArr' AS JSON).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы