@nut10

Как записать значения массива в базу?

Всем привет , помогите с вопросом.
Есть json ответ типа:
{
	"dat":[
		{
			"Id":"123",
			"phone":"89123456789",
			"name":"Роман",
			"city":"Москва",
			"address":"",
			"par":[
				{
					"name":"Возраст",
					"val":"19"
				},
				
			        {
					"name":"Группа",
					"val":"350"
				}
			]
		}

Не могу записать в бд значение с Par[]
Первую часть значений с dat я могу занести (пример ниже), а вот как мне быть с Par[] ?
///
$json = json_decode($str);
foreach ($json->dat as $a)    
{

$query = "INSERT  IGNORE INTO `test` (`id`,`phone`,`name`,`city`,`address`) VALUES ('".$a->Id."','".$a->phone."','".$a->name."','".$a->city."','".$a->address."')";
$res=mysql_query($query)or die (mysql_error());

}
///
  • Вопрос задан
  • 278 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
А куда должны попасть эти поля?
Как сказали в коментарии - завернуть в жсон обратно.
и глядя на код - вроде так нихрена не должно работать, у вас $a принимает значения строковые, а вы их потом как объект используете, или я не вижу большой отсутствующий кусок кода? Уберите форич, если данные всегда приходят в таком виде - проще захардкорить преобразование $json->dat->par = json_encode($json->dat->par). Я бы так не делал, но при том что вы используете деприкатед код - вам подойдет.
Ответ написан
Комментировать
@nut10 Автор вопроса
Нужно чтобы все значения в массиве par записывались в одно поле(parametr) , таблица test
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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