我試圖將CSV導入到MySQL數據庫中,其中每個新行應代表數據庫中的新行。PHP CSV上傳腳本,使用新行?
這裏是我迄今爲止在CSV:
1one, 1two, 1three, 1four
2one, 2two, 2three, 2four
和應用程序:
$handle = fopen($_FILES['filename']['tmp_name'], "r");
$data = fgetcsv($handle, 1000, ",");
$sql = "INSERT INTO tbl (col1, col2, col3, col4) VALUES (?, ?, ?, ?)";
$q = $c->prepare($sql);
$q->execute(array($data[0],$data[1],$data[2],$data[3]))
的問題是,被插入的只有前四個值,顯然是由於缺乏一個循環。
我能想到的兩個選項來解決這個問題:
1)做一些「哈克」的循環,可以記憶索引的位置,那麼n在每個插入確實+ 1數組值。
2)意識到fgetcsv不是我需要的函數,並且有更好的方法來處理新行!
謝謝!
謝謝,這將工作與臨時文件,就像我的例子,或有文件被保存?另外,這將如何處理注入和不好的字符,如「? – 2012-08-03 11:43:21