为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
达令说 2021-09-18 10:25:21
我正在尝试使用 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) ;


查看完整回答
反对 回复 2021-09-18
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

我认为你让这变得比必要的更复杂。pg_fetch_array()从结果集中返回一行,因此如果您想将其保存在 csv 文件中,您只需要:


$listope = pg_fetch_array($marequete) ;


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


fputcsv($fichier, $listope);


查看完整回答
反对 回复 2021-09-18
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信