我正在将数据从 MySQL 数据库表导出到 Excel 文件。但是导出大量数据显示内存限制错误。
我已将我的php.ini
文件中的内存限制设置为 1024M,并且它现在工作正常,因为它现在有 300,000 条记录/行。
但是这个计数会不断增长,所以我在我的 PHP 文件中使用了以下代码。但我不确定这样做是否正确。我希望它不会影响我的任何功能。
ini_set("memory_limit",-1);
这是我用来从 Excel 数据库导出数据的代码:
ini_set("memory_limit",-1);
if (isset($_POST["export"])) {
$query_discount = "SELECT * FROM tb_discount";
$productResult1 = mysql_query($query_discount, $con);
$filename_discount = "Discount_data_report.xls";
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"$filename_discount\"");
$isPrintHeader_discount = false;
if (! empty($productResult1)) {
while ($row_discount = mysql_fetch_assoc($productResult1)) {
if (! $isPrintHeader_discount) {
echo implode("\t", array_keys($row_discount)) . "\n";
$isPrintHeader_discount = true;
}
echo implode("\t", array_values($row_discount)) . "\n";
}
}
exit();
}