Как записать данные из массива в таблицу БД?

Здравствуйте! Имею массив полученный через vk api. Массив содержит много данных. Из этих данных я выбрал id, artist и title. Все это вывожу таким образом:
$posts = json_decode(file_get_contents("https://api.vk.com/method/wall.get?&owner_id=$owner_id&count=100&access_token=$service"));
foreach ($posts->response as $res => $result) {
        if ($res < 2) continue;
        $id = $result->id;        
        $artist = $result->attachments[1]->audio->artist;
        $title = $result->attachments[1]->audio->title;       
        echo "<pre>";
        echo "$id | $artist | $title";
        echo "</pre>";
    }


Все это на выходе выглядит вот так:
878 | RITUAL | Blood Flow  / The Fall / 2014

877 | Soular Order | Everybody Makes Mistakes

873 | Opeth | Harvest

872 | Soen | The Words

871 | Jakob | Semaphore

870 | Wiljan | Overcast

864 | Seba & Paradox feat. Robert Manos | Move On

862 | Swarms | I Gave You Everything

861 | Noraus | The Incredible Adventures Of A Microbe B

859 | Ambyion & Phelian | Grey Unknown

858 | Dymons | Heaven On Earth

857 | Entheogenic | Bioluminesence (Dreamtime Physics, 2017)


Так вот сама суть вопроса. Как мне записать в таблицу posts все эти данные. Т.е. я подготовил столбцы id, artist, title и теперь нужно все значения $id записать в столбец id и т.д.

Как правильно составить запрос?
  • Вопрос задан
  • 940 просмотров
Решения вопроса 1
Stimulate
@Stimulate
могу
$posts = json_decode(file_get_contents("https://api.vk.com/method/wall.get?&owner_id=$owner_id&count=100&access_token=$service"));

$inserts = array();
foreach ($posts->response as $res => $result) {
        if ($res < 2) continue;
        $id = $result->id;        
        $artist = $result->attachments[1]->audio->artist;
        $title = $result->attachments[1]->audio->title;       

$inserts[] = "(".(int)$id.", '".$mysqli->real_escape_string($artist)."', '".$mysqli->real_escape_string($title)."')";

        echo "<pre>";
        echo "$id | $artist | $title";
        echo "</pre>";
    }

if (sizeof($inserts) > 0) {
$mysqli->query("INSERT INTO `table` (`id`, `artist`, `title`) VALUES ".implode(',', $inserts).""); 
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zoozag
@zoozag
Opencart
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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