Лучший способ сохранить данные массива PHP в таблицу mysql

Мой вопрос - каков наилучший и наиболее эффективный способ сохранить большой массив php в mysql? стол. Я знаю, что существует множество способов сделать это, и я пробовал несколько из них, но до сих пор не нашел метода, который мне действительно было бы удобно использовать. Основной метод, рекомендуемый большинством людей, - это функции php serialize () и unserialize (). По какой-то причине это не работает для меня, и я, кажется, пробовал все способы исправить это, но idk.

Вот мой код:

    // unserialize songs, add new song to end of array, and then re-serialize to add to db
    $cereal = unserialize($dbsongs);
    $pushed = array_push($cereal, $_GET['song']);
    $songs = serialize($pushed);

    //update playlists table
    $stmt = $dbh->prepare("UPDATE playlists SET songs=:songs WHERE title=:title AND user=:user");
    $stmt->bindParam(':user', $_SESSION['username'], PDO::PARAM_STR);
    $stmt->bindParam(':title', $_GET['title'], PDO::PARAM_STR);
    $stmt->bindParam(':songs', $songs, PDO::PARAM_STR);
    $stmt->execute();

Итак, сначала я десериализую $ dbsongs , который представляет собой пустой список сериализованных данных из таблицы mysql. Затем я помещаю $ _ GET ['song'] в массив с помощью array_push () . Затем я сериализую это и сохраняю в db. По какой-то причине это не работает, но я также хотел бы знать, есть ли способ лучше.

Следует ли мне попытаться разбить массив php и сохранить каждый элемент в таблице и разделить элементы запятой, а затем разбить эту строку, когда я извлекаю ее из базы данных?

Или мне просто исправить этот метод. с использованием? Или даже добавить base64_decode () и base64_encode () ? Эти методы кажутся устаревшими из того, что я читал ... http://www.evolt.org/node/60222

Я видел метод, использующий .implode , но Не могу понять, как им пользоваться ... Ссылка 1 Ссылка 2 . Это похоже на самый современный подход, который я видел. Это то, что мне следует изучить дальше?

Не знаю, что это за метод, но в нем упоминается Cakephp, который, как я полагаю, является библиотекой php. Это хороший метод? Ссылка 1

Я собираюсь хранить много элементов в этих списках (например, более 1 тыс. Элементов регулярно), поэтому я даже не уверен, сохраняю ли эти элементы в одну таблицу поле было бы подходящим. Будет ли просто создание таблицы для этих элементов лучшим методом, поскольку список будет большим (создание новой записи в базе данных для каждого нового добавленного элемента и создание поля «заголовок», чтобы связать их все вместе)? Я никогда не экспериментировал с чем-то подобным, потому что мне никогда не удавалось найти достаточно информации о том, сколько данных mysql действительно может хранить без каких-либо проблем.

Я знаю, что здесь много вопросов, но мы будем благодарны за любые ответы! Заранее спасибо!

-BAH

6
задан Community 23 May 2017 в 11:53
поделиться