2012-07-20 53 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