2012-07-09 130 views
0

我已经提取了一个csv报告,现在我已经在一个字符串中。有csv输出为字符串,必须解析为数组php

eg -> 
$report="date,pageview,clicks 
2012-07-01,229316,16739 
2012-07-02,295238,19582 
2012-07-03,278505,17805 
2012-07-04,209455,15146 
2012-07-05,250756,17206"; 

现在我想保存在MySQL数据库这个数据,但没有得到任何优化的解决方案,因为我真正的$report是非常大的规模。

+3

你是如何取字串的?当你用['fgetcsv()'](http://php.net/manual/en/function.fgetcsv.php) – DaveRandom 2012-07-09 08:50:39

回答

6

忘记使用PHP导入CSV文件,然后传送数据到MySQL-一个优化的解决方案使用LOAD DATA INFILE直在加载数据,你可以使用一个临时表如果数据不正是你需要

例子:

LOAD DATA INFILE '<yourcsv>' INTO TABLE <yourtable> 
FIELDS TERMINATED BY ',' 
IGNORE 1 LINES; 

买者 - 输入文件必须在当地有售的MySQL服务器

+1

加载它时,你应该将它转换为数组...假设你有访问MySQL服务器的本地文件系统,但并非总是如此。 – DaveRandom 2012-07-09 08:55:07

+0

@DaveRandom是100%正确(正常) - 警告添加! – ManseUK 2012-07-09 08:56:11