2013-11-28 2 views
0

Это то, что текстовый файл выглядит ...Вставка текстового файла в MySQL таблицы

Адад, s, 585769, M, 1f1,1Ig2, S1,9834,9057, "AU9",»», , AVI1ORCBTT1O1D5F, "", "" Bic, Nenja, 472080, M, 2D, 22, S2,223,90523,41924, "B016", "", Voiol Proam Level 2, ADA2OJ2OBA, "", "

Это то, что мой код выглядит ..

$result = mysql_query("LOAD DATA LOCAL INFILE '$ptmpName' REPLACE INTO TABLE 'students' FIELDS TERMINATED BY ',' ENCLOSED BY ' ' ESCAPED BY '\\' LINES TERMINATED BY '\n'")or die ('Error: '.mysql_error()); 

}

Я получаю ошибку : «Синтаксис SQL; проверьте руководство, соответствующее версии вашего MySQL-сервера, для правильного синтаксиса для использования рядом с «студентами» FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\' LINES TERMINA 'по строке 1 "

+0

Вы можете вырезать 95% своего вопроса, если вы изолируете его до генерируемого sql. –

+0

Вам нужно избежать кавычек в текстовом файле. Еще лучше, не используйте функции mysql_ *. Переключитесь на PDO. –

ответ

3

Этот код является . опасно вы позволяете пользователю строчить файл их выбор ВЕЗДЕ на сервере

вашей задачи SQL здесь:.

[...snip...] REPLACE INTO TABLE 'students' FIELDS [...snip...] 
           ^--------^--- 

Цитирование имени поля/таблицы как это превращает его в строку , а не имя поля/таблицы. Либо полностью удалите цитату (учащиеся НЕ являются зарезервированным словом, либо используют обратные ссылки:

... `students` ... 
+0

Доступно только 1 администратору. и хорошо спасибо –

Смежные вопросы