Intereting Posts
IE SCRIPT16389 Ошибка при использовании внешнего внешнего интерфейса и JQuery Slider jquery – первый клик будет привязан ко всем элементам Исправить временную строку вызов метода объекта при создании экземпляра Отображается только первое слово. В переменной нескольких слов отображается Защищенные от PHP классы и свойства, защищенные от кого? Ограничение доступа IFRAME в PHP Добавить пользовательские поля в существующую форму на Dokan (wordpress / woocoomerce) unbindModel вызов в CakePhp. Как это работает? Ошибка PHP Parse: синтаксическая ошибка, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING Ошибка безопасности AWS SSL: 60: SSL-сертификат …: невозможно получить сертификат локального эмитента Работа с лесом двоичных деревьев, хранящихся в большом XML-файле (PHP) Установите PDO для исключения исключений по умолчанию .htaccess переписать все строки запроса через Доступ к числовому свойству в объекте json

php: импорт нескольких файлов csv в таблицу mysql

<?php error_reporting(E_ALL); ini_set('memory_limit', '512M'); ini_set('display_errors', 'ON'); $host = "127.0.0.1"; // Host name $username = "root"; // Mysql username $password = ""; // Mysql password $db_name = "test2"; // Database name $tbl_name = "tcg_unique"; $con = mysql_connect("$host", "$username", "$password")or die("cannot connect"); $db_con = mysql_select_db($db_name) or die("cannot select DB"); $charset = mysql_set_charset('utf8',$con); $dir_iterator = new RecursiveDirectoryIterator("/Users/jacksons/Dropbox/MTG/SQL staging"); $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $file) { echo $file, "\n"; if(strpos($file, '.csv') !== false){ mysql_query("LOAD DATA LOCAL INFILE '$file' INTO TABLE $tbl_name") or die (mysql_error()); } else{ print "else"; } } 

Я привязываю к загрузке нескольких файлов csv из каталога. Я получаю весь путь к файлу, чтобы распечатать его, но я не могу получить данные для загрузки в таблицы. Я попробовал один в mysql, и он импортировался без проблем (все имена столбцов совпадали). Любая помощь будет принята с благодарностью.

csv выглядит так: cardname продавец состояние цена количество доставки Дата Brimaz, король Oreskos игра Цитадель возле монетного двора 18 0,5 4 5/30/14 Kiora, игра с кричащей волной FTW легко играли 13.09 NA 1 5/30/14 Courser of Kruphix Chicagoland Games Рядом с монетным двором 11,68 0,75 3 5/30/14

Если ваш файл на самом деле является файлом csv с полями, разделенными запятой, вы должны указать разделитель полей.

 LOAD DATA INFILE '$file' INTO TABLE $tbl_name FIELDS TERMINATED BY ',' 

Если вы не указываете разделитель полей, mysql рассматривает разделитель полей как вкладку (\ t).

В случае, если файл создается с помощью каретки с возвратом, это делают приложения с монстрами окон, вам также необходимо добавить в конце инструкции:

 LINES TERMINATED BY '\r\n' 

Если вы хотите импортировать несколько файлов csv и вы делаете это вручную , вы также можете использовать графический инструмент, чтобы упростить работу. Вы можете использовать Adminer для этого:

  1. Администратор доступа из вашего браузера.
  2. Войдите в систему с правами администратора.
  3. Выберите свою базу данных.
  4. Нажмите кнопку « Import слева.
  5. Выберите файл .csv .
  6. Нажмите кнопку « Execute .