我正在尝试使用 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 没有返回正确的数组,但我找不到解决方案。感谢帮助
2 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
不要爆炸数组, fputcsv() 函数会为您完成所有工作
所以简单地做
fputcsv($fichier, $line);
另一件事,您只从结果集中读取一行,现在可能是因为您只需要一行,但是当您还编写一个循环时,如果查询会生成多行,请尝试使用 pg_fetch_all()
$listope = pg_fetch_all($marequete) ;
$fichier = fopen("export.csv", "w") ;
foreach ($listope as $line) {
fputcsv($fichier, $line);
}
fclose($fichier) ;
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
我认为你让这变得比必要的更复杂。pg_fetch_array()从结果集中返回一行,因此如果您想将其保存在 csv 文件中,您只需要:
$listope = pg_fetch_array($marequete) ;
$fichier = fopen("export.csv", "w") ;
fputcsv($fichier, $listope);
- 2 回答
- 0 关注
- 134 浏览
添加回答
举报
0/150
提交
取消