首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中将较大的数据导出到CSV?

问如何在PHP中将较大的数据导出到CSV?
EN

Stack Overflow用户
提问于 2013-09-13 16:22:11
回答 2查看 1K关注 0票数 2

我想导出数千条记录,假设我有165K条记录要导出到CSV。我要做的是获取所有记录并将它们放入一个数组中,然后使用fputcsv()函数将其导出到CSV。但是这样做会使我的页面崩溃。我也设置了set_time_limit(0),但它也不起作用。我是这样做的:

代码语言:javascript
复制
QUERY-> SELECT s.id, 
               s.name, 
               s.email, 
               s.postcode, 
               s.dob
        FROM `subscribers_table` s
        WHERE s.status=1";

while(row = fetch..) {
    $myarray[] = array_data
}

$fp = fopen(..);
foreach($array as $key => $value)
    fputcsv($fp, $value);           
fclose($fp);

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2013-09-13 16:34:04

你有什么错误?似乎是内存溢出。将php.ini中的'memory_limit‘指令设置为更大的值。

此外,您想要做的事情可以由MySQL单独完成:

代码语言:javascript
复制
SELECT s.id, 
       s.name, 
       s.email, 
       s.postcode, 
       s.dob
   INTO OUTFILE 'c:/somefile.csv'
   COLUMNS TERMINATED BY ' '
   LINES TERMINATED BY '\n'
   FROM `subscribers_table` s;
票数 0
EN

Stack Overflow用户

发布于 2013-09-13 17:21:47

这不是你所做的解决方案。我的解决方案是从db获取有限的数据量,对其进行处理,然后返回到数据量,就像在分页中发生的那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18781580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档