Задать вопрос
@Angelxalfa

Как экспортировать данные из csv в Mysql?

Имеется файл csv следующей структуры
ВГ0179;"Улица";"18";"49";"Фамилия";1956-02-04;017;"СГВ-15";"с/узел";2014-07-01;"1202";"2%";2014-10-01;2,2

Поскажите как его лучше перегнать в таблицу MySQL.
Пробовал этим кодом
<?php 
		include '../../connect.php';
        $table = 'table'; 		// Имя таблицы для импорта
        $filename = 'in.csv'; 	 	// Имя CSV файла, откуда берется информация 
        $delim=';';  		// Разделитель полей в CSV файле
        $enclosed='"';  	// Кавычки для содержимого полей
        $lineend='';   	// Чем заканчивается строка в файле CSV
   $query = "LOAD DATA INFILE 'D:\in.csv' 
   INTO TABLE table  
   character set utf8
   FIELDS TERMINATED BY '".$delim."' 
   ENCLOSED BY '".$enclosed."' 
   LINES TERMINATED BY '".$lineend."'";
   mysql_query ($query);
   echo mysql_errno() . ": " . mysql_error() . "\n";
?>

Лог ошибки:
1261: Row 84374 doesn't contain data for all columns

вот строка 84374:
ВГ8;"улица";"18";"5";"Фамилия А.И.";;000148;"СГВ-15";"";2012-05-03;"22465";"2%";2014-10-01;60

Как исправить?

Пробовал экспортировать через цикл этим этим кодом:
$csv_open = fopen("in.csv", "r"); 
   $r = 0; 
while (($row = fgetcsv($csv_open, 1000, ';', '"')) != FALSE) 
   {
        $r++;
      if($r == 1) {continue;} // Не дает записать в БД первую строку 
      $ins="INSERT INTO `table` (`id`, `street`, `house_number`, `app_number`, `description`, `device_id`, `old_meterage`) VALUES ('$row[0]', '$row[1]', '$row[2]', '$row[3]', '$row[8]', '$row[10]', '$row[13]')";
      mysql_query($ins);
      echo mysql_errno() . ": " . mysql_error(); 
   }
   fclose($csv_open);


Вопрос:

  1. Все работает отлично (нужные данные сохраняются в нужные ячейки), однако экспортируется около 7000 строк (причем при повторных попытках - от 7000 до 8000 строк), а должно порядка 100 000. В чем проблема?
  • Вопрос задан
  • 4054 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Года рождения не хватает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽