У меня возникли проблемы с выводом базы данных mysql в файл csv и ее загрузкой. Приведенный ниже код выдает ошибку "unexpected T_CONSTANT_ENCAPSED_STRING" в 3-й строке ниже. Я пробовал с точкой с запятой и без на 3-й и 4-й строках.

$FileName = "/googleresearch" .  abs(rand(0,1000000000000))  .  ".csv";

$query = "SELECT * FROM happyturtle INTO OUTFILE $FileName;
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';
LINES TERMINATED BY '\n'";

$result = mysql_query($query) or die(mysql_error());

exit;
0
user586011 29 Мар 2011 в 23:38
Основание имени выходного файла на случайном числе не совсем надежно. Вероятность мала, но в случае конфликта MySQL НЕ перезапишет уже существующий файл. Вместо этого вы должны основывать имя файла на текущей метке времени, которую вы можете получить как обычное целое число с помощью time() в PHP. Конечно, если вы запускаете этот запрос чаще, чем раз в секунду, у вас все еще будет проблема с перезаписью.
 – 
Marc B
29 Мар 2011 в 23:42

1 ответ

Вам нужно избежать " в четвертой строке, например:

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';
4
jeroen 29 Мар 2011 в 23:40