无法使用 fputcsv() 和 pg_fetch_xxx() 返回的数组获取 csv 文件
Can't get a csv file using fputcsv() and an array returned by pg_fetch_xxx()
我正在尝试使用 return 由 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) ;
?>
我知道问题是 $listope
var 不是 return 正确的数组,但我找不到解决方案。
感谢帮助
不要分解数组,fputcsv() 函数会为您做所有这些
所以简单地做
fputcsv($fichier, $line);
Another thing, you only read one row from the result set, now that maybe because you only expect one row, but as you also code a loop, if the query would generate more than one row try this, using pg_fetch_all()
$listope = pg_fetch_all($marequete) ;
$fichier = fopen("export.csv", "w") ;
foreach ($listope as $line) {
fputcsv($fichier, $line);
}
fclose($fichier) ;
Reference The manual
我认为你把事情搞得过于复杂了。 pg_fetch_array()
returns 来自 result-set 的一行,所以如果您想将其保存在 csv 文件中,您只需要:
$listope = pg_fetch_array($marequete) ;
$fichier = fopen("export.csv", "w") ;
fputcsv($fichier, $listope);
我正在尝试使用 return 由 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) ;
?>
我知道问题是 $listope
var 不是 return 正确的数组,但我找不到解决方案。
感谢帮助
不要分解数组,fputcsv() 函数会为您做所有这些
所以简单地做
fputcsv($fichier, $line);
Another thing, you only read one row from the result set, now that maybe because you only expect one row, but as you also code a loop, if the query would generate more than one row try this, using
pg_fetch_all()
$listope = pg_fetch_all($marequete) ;
$fichier = fopen("export.csv", "w") ;
foreach ($listope as $line) {
fputcsv($fichier, $line);
}
fclose($fichier) ;
Reference The manual
我认为你把事情搞得过于复杂了。 pg_fetch_array()
returns 来自 result-set 的一行,所以如果您想将其保存在 csv 文件中,您只需要:
$listope = pg_fetch_array($marequete) ;
$fichier = fopen("export.csv", "w") ;
fputcsv($fichier, $listope);