Попытка вставить данные столбца в массив mysql из json - PullRequest
1 голос
/ 30 апреля 2020

Я пытаюсь вставить массив JSON (объекты ?!) в mysql с помощью php. Когда данные поступают в виде строк, я могу справиться с этим! Тем не менее, мне пришлось экспортировать массив другим способом, и теперь я не могу понять это. После $array=json_decode($posted,true); мой массив выглядит следующим образом:

(
    [0] => Array
        (
            [0] => Allen, test
            [1] => Anderson, Jayson
            [2] => Barrett, Kayla
            [3] => Bennett, Amira
        )

    [1] => Array
        (
            [0] => testallen@gmail.com
            [1] => testjayson@yahoo.com
            [2] => testkayla@gmail.com
            [3] => testamira@hotmail.com
        )
)

Как мне получить это в foreach l oop, который выдает:

insert into table (name, email) values("Allen, test","testallen@gmail.com")
insert into table (name, email) values("Anderson, Jayson","testjayson@yahoo.com")
... etc?

Когда данные были в ' формат строки, это было легко для меня ..

          foreach($array as $row)
          {   
$query="insert into table (name, email) values(\"$row[0]\",\"$row[1]\")";
$doit = mysqli_query($con,$query);
          }

Но теперь, когда массив не проходит через строки, я не могу понять это.

1 Ответ

2 голосов
/ 30 апреля 2020

Один из способов - l oop $ row [0] и использовать клавишу для получения обоих значений:

foreach($row[0] as $key => $value) {
    $name = $row[0][$key];
    $email = $row[1][$key];
    $query = "insert into table (name, email) values('$name', '$email')";
    $doit = mysqli_query($con,$query);
}

Рабочий образец

Однако Я настоятельно рекомендую вам использовать подготовленные операторы вместо строковых переменных в ваших запросах, чтобы предотвратить атаки SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...