Загрузка данных в файле, НЕОБЯЗАТЕЛЬНО ПРИЛОЖЕННО, не работает должным образомPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Загрузка данных в файле, НЕОБЯЗАТЕЛЬНО ПРИЛОЖЕННО, не работает должным образом

Сообщение Anonymous »

Множество похожих билетов и обучающих сайтов, но, к сожалению, пока ни одно решение мне не помогло, я застрял на этом на пару часов.

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

Однако он застревает в одном разделе:
Пример строки CSV:


ABSOLUTE,Glenn,Anakie,"Cool Synd, Super Cool"


Я использую следующий код:

Код: Выделить всё

$q = "load data infile '$file' into table $table
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n';";
mysql_query($q, $db);
Я ожидаю, что здесь будет 4 поля, но в итоге получается 5, запятая внутри кавычек считается разделителем. Я думал, что смысл OPTIONALLY ENCLOSED BY в том, чтобы уловить эти случаи?

Я пробовал переключать порядок завершения полей и opt, заключенных в команды. Попробовал просто сделать это ENCLOSED BY. Попробовал не экранировать ", также /"/", попробовал использовать две одинарные кавычки вместо двойной; но я все еще не могу понять, что я хочу, чтобы "Cool Synd, Super Cool" было одним полем.

Кто-нибудь знает, что я здесь делаю неправильно?

Вот структура моей таблицы:

Изображение


Я просто помещаю сюда все свои данные, затем обрабатываю их и перемещаю поля в соответствующие таблицы в правильный формат. Столбец с проблемой - «Владелец».
Я изменил его на текстовый тип, так как это было решение для других, но он работает одинаково, будь то текст, char, varchar и т. д.

(Работает на сервере Ubuntu 14.4, Apache/2.4.7, PHP 5.5.9)

Подробнее здесь: https://stackoverflow.com/questions/354 ... s-expected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»