我正在下載並將遠程文本文件導入到本地mysql數據庫。將逗號分隔文件導入到mysql
格式最近更改爲在其中一列內有逗號,導致導入失敗,並顯示錯誤「第1行的CSV輸入中的字段數無效」。現在的數據如下所示:
"bonita","FL","212025920","2012929","Hooker,Bill"
如何更新此代碼段以允許在引號內使用逗號?
foreach(explode($lineseparator,$csvcontent) as $line) {
$lines++;
$line = trim($line," \t");
$line = str_replace("\r","",$line);
/************************************
This line escapes the special character. remove it if entries are already escaped in the csv file
************************************/
$line = str_replace("'","\'",$line);
/*************************************/
$linearray = explode($fieldseparator,$line);
$linemysql = implode("','",$linearray);
$linemysql = str_replace("\"","",$linemysql);###code added
$query = "insert ignore into $databasetable values('$linemysql');";
如果使用在PHP現有fgetcsv()函數(http://www.php.net/manual/en/function .fgetcsv.php)而不是試圖編寫自己的代碼,那麼對你來說生活將變得簡單很多 –
你有一個示例代碼片段嗎?我根本不熟悉fgetcsv。 –
我已鏈接的PHP手冊頁顯示了示例 –