我正在嘗試使用 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 關注
- 154 瀏覽
添加回答
舉報
0/150
提交
取消