【发布时间】:2017-02-13 16:58:51
【问题描述】:
我必须使用 PHP 脚本在 MySql db 表中导入 CSV 文件。 CSV 文件如下:
"giorno","lmedollton","changedolleuro","euroton","lmesterton","delnotiz","girm","sgm"
"2016-09-02", "100.01", "4005.09", "5000", "1.09", "120.09", "100.5", "200.77"
"2016-09-03", "150.01", "4205.09", "5600", "1.10", "150.09", "300.5", "300.77"
表结构如下:
# Campo Tipo Collation Attributi Null
1 id int(20) No Nessuno AUTO_INCREMENT
2 giorno date Sì NULL
3 lmedollton float Sì NULL
4 changedolleuro float Sì NULL
5 euroton float Sì NULL
6 lmesterton float Sì NULL
7 delnotiz float Sì NULL
8 girm float Sì NULL
9 sgm float Sì NULL
有两个很多问题:
1) 使用此 PHP 代码:
$csvFile = "../scripts/tabella.csv";
$db = @mysql_connect('***', '***', '***');
@mysql_select_db('***');
$query = 'LOAD DATA LOCAL INFILE \' '. $csvFile .' \' INTO TABLE rame FIELDS TERMINATED BY \',\' ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\'
(giorno,lmedollton,changedolleuro,euroton,lmesterton,delnotiz,girm,sgm)';
if(!mysql_query($query)){
die(mysql_error());
}
//@mysql_query($query);
mysql_close($db);
mysql_error 返回'文件未找到';我也尝试使用 realpath 函数,但错误是一样的。 CSV 文件位于 www.valuebiz.it/valuebiz/scripts/tabella.csv 的站点服务器中,其权限为 777。使用此路径(如 URL)我可以正确下载 tabella.csv。 我必须使用哪个正确路径?
2) 我尝试在我的本地主机中处理查询并且它运行但添加的记录的每个字段都是 NULL。该表有 9 个字段,包括 id 字段(自增):第一个是 DATE 类型,其他是 FLOAT 类型。 为什么插入的值是 NULL?
你能帮帮我吗? 谢谢!
【问题讨论】:
-
此位置没有 csv 文件:www.valuebiz.it/valuebiz/scripts/tabella.csv 尝试使用此路径手动打开文件。
-
您需要在 文件系统 中提供路径,而不是 URL。将该文件保存在服务器上的某个位置,然后继续。
-
@Dave,我试了一下,路径正确,文件下载完毕。