2013-11-29 5 views
0

Пытается загрузить CSV в базу данных MySQL. Не могу заставить его работать ...LOAD FILE MySQL & PHP

SQL Query =

$query = "LOAD DATA LOCAL INFILE `$ptempName` INTO TABLE `students` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r' ESCAPED BY ',' ENCLOSED BY '" . '"' . " ('StudentNumber', 'FirstName', 'LastName' , 'Gender' , 'Year', 'Email', 'DOB', 'Phone', 'Notifications');"; 
$result = mysql_query($query)or die ('Error: '.mysql_error()); 

Ошибка: У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса, используемого рядом с '` INTO TABLE учащимися «ПОЛЯЕМЫЕ ПОЛЯМИ», «ЛИНИИ, ПРЕКРАЩЕННЫЕ« ЭСКАТО »по строке 1

ответ

2

Backticks используются для выхода из базы данных, таблицы и только имена столбцов.

Для строк вы обычно можете использовать одинарные или двойные кавычки, как в '$ptempName'.

Be абсолютно обязательно у вас есть properly escaped это значение, если вы получаете его от пользователя. При использовании mysql_query вы играете с огнем.