我必须使用PHP脚本将MySql数据库表中的CSV文件导入。 CSV文件如下:将CSV导入到Mysql过程中的NULL字段
"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作为URL可正确下载tabella.csv。 哪一条是我要使用的正确路径?
2)我试图在我的本地主机上工作查询,它运行但添加记录的每个字段都是NULL。该表有9个字段,包括ID字段(自动递增):第一个是DATE类型,其他是FLOAT类型。 为什么插入值为NULL?
你能帮助我吗? 谢谢!
在这个位置没有csv文件:www.valuebiz.it/valuebiz/scripts/tabella。 csv尝试用此路径手动打开文件。 – Dave
您需要在_filesystem_中给出路径,而不是URL。将该文件保存在某个位置的服务器上,然后进行。 –
@Dave,我尝试一下,路径是正确的,文件被下载。 – Federica