overflow_hidden
@overflow_hidden

Проблема с JSON PHP?

Всем привет. Есть проблемка с json php

$a = array( array('Город' => $city, 'Улица'=> $street)); // тип string
$arrayAdressJson = json_encode($a); // конвертирую в json

данные писанулись в базу

[{"u0413u043eu0440u043eu0434":"dfdfdfdf","u0423u043bu0438u0446u0430":"dfdfdf"}]


если 1 то все ок, а вот если их там 2-3-4
[{"u0413u043eu0440u043eu0434":"dfdfdfdf","u0423u043bu0438u0446u0430":"dfdfdf"}][{"u0413u043eu0440u043eu0434":"dfdfdfdf","u0423u043bu0438u0446u0430":"dfdfdf"}][{"u0413u043eu0440u043eu0434":"dfdfdfdf","u0423u043bu0438u0446u0430":"dfdfdf"}]
// Значения разные


то foreach уже не помагает
var_dump отдает ошибку
суть хранить несколько адресов в одном поле в формате json и потом на клиенте уже разбирать, ай нид хэлп
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
overflow_hidden
@overflow_hidden Автор вопроса
В общем отказался от варианта с хранением в json
От части FanatPHP прав, мало ли что потом локти кусать. создал таблицу user_adress в ней 5 полей и связь по user_id
буду запросом выгребать где нужно.

Что касается хранения данных в базе в формате json то проблем нету если не нужно делать выборки, поиска, строка не особо крупная, не хранить массивы и тп.
Вопрос закрыт, всем спасибо
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@FanatPHP
Это проблема не джейсон.
У JSON проблем никаких нет.
проблемы в твоем коде, в котором
- в БД хранится джейсон, хотя за это надо бить по рукам железной линейкой
- используется какая-то обезьянья функция, которая портит данные перед записью в БД
Ответ написан
revenger
@revenger
php,html,js,sql
Проблемы нет, изучайте опции json_encode
Попробуйте добавить:
json_encode($a,JSON_UNESCAPED_UNICODE)
Ответ написан
Big_Alex
@Big_Alex
молод и перспективен
Если надо хранить много адресов, то как вариант можно создать в БД таблицу "Adress" и связать её с текущей, как один к многим..

Ну а если хотите хранить всё адреса в одной ячейке, то уточните хотя - бы БД, с какой работаете..
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы