问题描述
我正在通过查询查询结果的PHP脚本创建一个csv文件。
我得到的行:
foreach $result as $row
看起来像这样:
$row
array (
'id' => '9','description' => 'a nice book','product-title' => 'Book title','references' => '4044782308578','id_bookstore' => 2,)
到目前为止一切顺利。 我的问题是,“ id_bookstore”要求数据库执行某些操作,而不是将其包括在csv文件中。
但是,如果我没有在fputcsv($file,$row,';');
的csv文件中包含'id_bookstore',则会收到错误消息(标头中的元素数量与$ row中的元素数量不匹配)
我是否必须从$ row中删除每行中的'id_bookstore'=> 2以避免错误?如果可以,怎么办?
还是有另一种解决方法?
代码在这里:
$file = fopen(book.csv,'wb');
$delimiter = ';';
fputcsv($file,array("id","description","product-title","references"),$delimiter);
foreach ($result as $row) {
fputcsv($file,';');
}
fclose($file);
非常感谢您。
解决方法
要从该行中删除“ id_bookstore”,只需使用未设置的功能,如下所示:
$file = fopen(book.csv,'wb');
$delimiter = ';';
fputcsv($file,array("id","description","product-title","references"),$delimiter);
foreach ($result as $row) {
unset($row['id_bookstore']);
fputcsv($file,$row,';');
}
fclose($file);