fputcsv失败,查询超过20k记录

时间:2014-08-24 03:38:57

标签: php mysql sql csv fputcsv

简单地说,当我将查询结果导出到csv时,它会像丝绸一样平滑,直到查询结果达到约20k-25k记录。

当我点击那个标记时,我得到一个空白的白色屏幕,并且创建的文件只有标题行而没有别的。我把查询拉回一点,然后就完成了,用所有数据构建csv文件。

我尝试了各种记录,查询和表格,以确保它不是数据,所以我不知所措。我可以轻松查询超过100万条记录的精细和分页,但导出仍然失败。

$file_name = "new_file";

//Set field column names
$fields[] = 'Submit Date';
$fields[] = 'Submit Time';
$fields[] = 'Client STN';
$fields[] = 'Incident Type';
$fields[] = 'Level 1';
$fields[] = 'Level 2';
$fields[] = 'Level 3';
$fields[] = 'Employee ID';

//Create file
$fp = fopen('/var/www/html/data_exports/'.$file_name.'.csv', 'a');
if ($fp && $result) 
{
    fputcsv($fp, $fields);
    foreach ($result->result_array() as $row)
    {   
        $values = array();
        $values[] = $row['submit_date'];
        $values[] = date("H:i:s", $row['submit_time']);
        $values[] = $row['stn'];
        $values[] = $row['menu_text'];
        $values[] = $row['lvl1_menu_item'];
        $values[] = $row['lvl2_menu_item'];
        $values[] = $row['lvl3_menu_item'];     
        $values[] = $row['employee_id'];

        fputcsv($fp, $values);
    }
}

redirect('admin/data_export_files');

0 个答案:

没有答案