繁体   English   中英

PHP / Mysql加载数据本地文件

[英]PHP/Mysql Load Data Local Infile

我已经尝试了所有我能想到的东西,但是由于某种原因,我无法使它起作用。

我有一段PHP代码可将本地存储的CSV文件加载到MySQL数据库中。 它可以在一个脚本中完美运行:

$query = 'LOAD DATA LOCAL INFILE \''.$arp_input.'\' INTO TABLE arp_import FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' LINES TERMINATED BY \'\r\n\' (not_used,account_number,check_serial,issue_date,amount,transaction_code,additional_text)';

但是,我需要在另一个脚本中执行相同的操作(加载CSV),该脚本实际上执行相同的操作,但是生成不同的格式。 这是查询:

$query = 'LOAD DATA LOCAL INFILE \''.$ap_input.'\' INTO TABLE ap_import FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' LINES TERMINATED BY \'\r\n\' (account_number,check,paiddate,amount)';

但是,当我使用上述查询运行第二个脚本时,出现此错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'check,paiddate,amount)' at line 1

当我在第二个查询的末尾取出字段列表时,即使我尝试了\\ n定界符,\\ r和两者都\\ r \\ n,它也仅从文件中导入了一行。

我已经尝试了所有我能想到的。 这两个PHP脚本在同一服务器上运行,并且都在访问同一远程MySQL服务器。 我在这里想念什么?

根据MySQL文档,Check是保留字。

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

check是MySQL中的保留字( http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html )。 您应该将其括在sql语句的反引号(`)中:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM