N
N
nut102016-05-16 23:21:36
PHP
nut10, 2016-05-16 23:21:36

How to store array values ​​in base?

Hello everyone, help with a question.
There is a json response like:

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

I can’t write a value with Par[]
to the database. I can enter the first part of the values ​​with dat (example below), but what should I do with 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());

}
///

Answer the question

In order to leave comments, you need to log in

2 answer(s)
T
ThunderCat, 2016-05-17
@ThunderCat Куратор тега PHP

А куда должны попасть эти поля?
Как сказали в коментарии - завернуть в жсон обратно.
и глядя на код - вроде так нихрена не должно работать, у вас $a принимает значения строковые, а вы их потом как объект используете, или я не вижу большой отсутствующий кусок кода? Уберите форич, если данные всегда приходят в таком виде - проще захардкорить преобразование $json->dat->par = json_encode($json->dat->par). Я бы так не делал, но при том что вы используете деприкатед код - вам подойдет.

N
nut10, 2016-05-17
@nut10 Автор вопроса

It is necessary that all values ​​in the par array are written to one field (parametr) , table test

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question