我已经获取了一个 csv 报告,我现在有一个字符串。
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大小非常大。
忘记使用 PHP 导入 CSV 文件然后将数据发送到 MySQL - 以优化解决方案使用LOAD DATA INFILE并直接加载数据,如果数据不完全是您需要的,您可以使用临时表
例子 :
LOAD DATA INFILE '<yourcsv>' INTO TABLE <yourtable>
FIELDS TERMINATED BY ','
IGNORE 1 LINES;
警告- 输入文件需要在 MySQL 服务器上本地可用
使用fgetcsvwhich read 以数组格式一一记录。
http://php.net/manual/en/function.fgetcsv.php