Сверху над шапкой Сверху над шапкой
Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
Надёжный интегратор
цифровых решений
+7 (950) 695-32-20
+7 (950) 695-32-20
+7 (953) 271-62-24
E-mail
bussolweb@yandex.ru
Задать вопрос
  • VK
Надёжный интегратор
цифровых решений
  • Портфолио
  • V-blog
  • Новости
  • Частые вопросы
  • Документация
  • ...
    +7 (950) 695-32-20 bussolweb@yandex.ru
    Заказать звонок
    Услуги
    • Продвижение сайтов
      Продвижение сайтов
    • Техническая поддержка сайтов
      Техническая поддержка сайтов
    • Разработка сайтов
      Разработка сайтов
    • B2B-кабинет
      B2B-кабинет
    • Внедрение Битрикс24
      Внедрение Битрикс24
    • Свободный старт для селлеров на WB/Ozon
      Свободный старт для селлеров на WB/Ozon
    Лицензии
    • Лицензии 1С-Битрикс
      Лицензии 1С-Битрикс
    • Лицензии 1С-Битрикс24
      Лицензии 1С-Битрикс24
    • Лицензии Аспро
      Лицензии Аспро
    • Лицензии INTEC
      Лицензии INTEC
    Хостинг
    • Виртуальный хостинг
      • Blog
      • Start
      • Noble
      • Great
    • VIP-хостинг
      • Town
      • City
      • Mega
    • Хостинг для 1С-Битрикс
      • Bitrix-1
      • Bitrix-2
      • Bitrix-3
    Акции
    Компания
    • О компании
    • Ценные бумаги
    • Команда
    • Отзывы
    • Реквизиты
    • Стратегические активы
    Контакты
      Задать вопрос
      Заказать звонок
      Поиск
      Задать вопрос
      Задать вопрос
      • +7 (950) 695-32-20
        • Телефоны
        • +7 (950) 695-32-20
        • +7 (953) 271-62-24
        • Заказать звонок
      • Брянская обл., Брянский р-н, п. Путевка, ул. Рославльская, д. 8
      • bussolweb@yandex.ru
      • Пн. – Пт.: с 10:00 до 19:00
      Главная
      —
      Видео-блог
      —Импорт данных из CSV в MySQL

      Импорт данных из CSV в MySQL

      Импорт данных из CSV в MySQL
      1 декабря 2022

      Казалось бы, тема старая, однако актуальна и по сей день. У многих программистов возникает необходимость импорта данных из csv в mysql и вопрос о том, как это сделать.

      Казалось бы, тема старая, однако актуальна и по сей день. У многих программистов возникает необходимость импорта данных из csv в mysql и вопрос о том, как это сделать.

      Ниже приведен код примера, в котором читается csv-файл, содержимое которого выводится в браузере в виде таблицы и записывается в базу:

      
      $mysqli = new mysqli('localhost', 'root', '', 'test');
      $file = fopen('test.csv', 'r');

      echo '';
      while(!feof($file)){
      $mass = fgetcsv($file, 1024, ';');
      $j = count($mass);
      if($j > 1){
      echo '';
      echo '’; echo '’; echo '’;
      echo '’;
      echo '’;
      $mysqli->query("INSERT INTO 'table' ('col_1', 'col_2', 'col_3', 'col_4') VALUES ('{$mass[0]}', '{$mass[1]}', '{$mass[2]}', '{$mass[3]}')");
      } } echo '
      ';
      echo $mass[0];
      echo '
      ';
      echo $mass[1];
      echo '
      ';
      echo $mass[2];
      echo '
      ';
      echo $mass[3];
      echo '
      ';
      fclose($file);
      $mysqli->close();

      Теперь давайте разбираться что к чему.

      Первая строка – это подключение к базе test. В примере использовался OpenServer c php 5.4. Имейте ввиду, что в последних версиях OpenServer для пользователя root также необходимо указать пароль root.

      Четвертая и 24-я строки открывают и закрывают таблицу соответственно.

      Далее начинаем циклом перебирать содержимое файла построчно: 6 строка – это считывание строки файла до 1024 ее первых символов, разбиение ее по разделителю «;» и запись полученного массива в переменную $mass. Т.к. первая строка csv-файла является шапкой с наименованиями столбцов (в данном примере это так, хотя можно обойтись и без шапки), то ее мы пропускаем с помощью условия. Внутри цикла делаем верстку строки таблицы, записывая в ячейки соответствующие элементы массива $mass. А в 23 строке эти элементы мы добавляем строкой в таблицу table базы test.

      Вот и все. В 25 строке мы обязательно закрываем файл, т.к. его обработка завершена, а в 26 строке закрываем уже подключение к БД, т.к. мы в нее добавили все строки из файла.

      Таким образом данные можно добавлять не только напрямую, но и предварительно при чтении проделав над ними какие-либо операции. Конечно это зависит от стоящей перед вами задачи.

      • Комментарии
      Загрузка комментариев...
      Назад к списку
      +7 (950) 695-32-20
      +7 (950) 695-32-20
      +7 (953) 271-62-24
      E-mail
      bussolweb@yandex.ru
      Заказать звонок
      bussolweb@yandex.ru
      Брянская обл., Брянский р-н, п. Путевка, ул. Рославльская, д. 8
      Услуги
      Продвижение сайтов
      Техническая поддержка сайтов
      Разработка сайтов
      B2B-кабинет
      Внедрение Битрикс24
      Свободный старт для селлеров на WB/Ozon
      Лицензии
      Лицензии 1С-Битрикс
      Лицензии 1С-Битрикс24
      Лицензии Аспро
      Лицензии INTEC
      Компания
      О компании
      Ценные бумаги
      Команда
      Отзывы
      Реквизиты
      Стратегические активы
      Политики и согласия
      Публичная оферта
      Политика обработки ПДн
      Согласие на обработку ПДн
      Соглашение об использовании cookie-файлов
      Сведения о направлениях ИТ-деятельности
      Согласие на получение рекламно-информационных материалов
      Пользовательское соглашение
      Условия работы
      © 2021-2026, Центр разработки и внедрения цифровых решений: BUSSOL - решения для бизнеса
      Разработано в
      Поиск по сайту
      • МАКС
      • ВКонтакте
      • Telegram
      • Б24

        Битрикс24
      Задать вопрос
      Напишите нам свой вопрос и мы на него ответим

      Ваше сообщение успешно отправлено!
      Наши специалисты свяжутся с Вами в ближайшее время. Спасибо за интерес к нашим услугам
      \n
      \n