无法使用 fputcsv() 和 pg_fetch_xxx() 返回的数组获取 csv 文件

我正在尝试使用 pg_fetch_array 返回的数组导出带有 php 的 csv 文件。但是 csv 文件是空的。


如果我手工编写一个数组,则 csv 是正确的。我试图从 pg_fetch_all 构建一个数组,但没有成功。


<?php

$listope = pg_fetch_array($marequete) ;


$fichier = fopen("export.csv", "w") ;


foreach ($listope as $line) {

    fputcsv($fichier, explode(',',$line));

}


fclose($fichier) ;

?>

我知道问题是$listopevar 没有返回正确的数组,但我找不到解决方案。感谢帮助


达令说
浏览 135回答 2
2回答

慕无忌1623718

不要爆炸数组, fputcsv() 函数会为您完成所有工作所以简单地做fputcsv($fichier, $line);另一件事,您只从结果集中读取一行,现在可能是因为您只需要一行,但是当您还编写一个循环时,如果查询会生成多行,请尝试使用 pg_fetch_all()$listope = pg_fetch_all($marequete) ;$fichier = fopen("export.csv", "w") ;foreach ($listope as $line) {&nbsp; &nbsp; fputcsv($fichier, $line);}fclose($fichier) ;

米琪卡哇伊

我认为你让这变得比必要的更复杂。pg_fetch_array()从结果集中返回一行,因此如果您想将其保存在 csv 文件中,您只需要:$listope = pg_fetch_array($marequete) ;$fichier = fopen("export.csv", "w") ;fputcsv($fichier, $listope);
打开App,查看更多内容
随时随地看视频慕课网APP