2012-07-20 51 views
2

可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select出口数组CSV失败:串给出

我解决不了存在的,当我试图阵列导出为CSV文件有问题。我已经使用这个函数几个tumes没有问题,但在这里我没有看到我的错误在哪里。

我设定的数组:

$mytags= array(); 

我通过环填充它。当我打印通过print_r($mytags); 内容似乎是好的,我在这里输出的一些例子:

Array ([0] => [1] => air-travel [2] => airports [3] => security-airport [4] => city-airport ...) 

之后,我试图通过fputcsv将结果导出为CSV:

$fp = fopen('file.csv', 'w'); 
foreach ($mytags as $fields) { 
    fputcsv($fp, $fields); 
} 

但我得到这个错误:

警告:fputcsv()预计参数2为阵列,串在 C中给出:行\瓦帕\ WWW \测试\ capturetags.php 55

难道问题是只有一个字段? 或者,我试图用$mytags替换$fields来编写csv,在这种情况下我得到一个4GB的文件,所以它不是 有人看到如何在csv文件中记录这个独特的字段吗?

回答

6

错误非常明显,$fields不是数组,它是一个字符串。你需要一个数组。

fputcsv($fp, $mytags); 

没有foreach循环就可以完成这项工作。

+0

非常感谢,但我可耻失败的一个如此简单的错误。但是我不得不说,这个函数并不适合初学者:) – user1453786 2012-07-20 14:05:00

+0

@ user1453786如果你希望在未来找到许多答案,你需要更仔细地学习代码文档。 [PHP的](http://us.php.net/fputcsv)文档几乎是直截了当的,因为它可以得到'int fputcsv(resource $ handle,array $ fields [,string $ delimiter =','[,string $ enclosure ='“']])' – Patrick 2012-07-20 14:10:13