2012-07-09 47 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