我試圖在我的mysql表中導入一個csv文件。這是我的代碼:使用php將數據從CSV導入到mysql表中使用php
<?
error_reporting(0);
mysql_connect("localhost","root","");
mysql_select_db("gerov");
$filename='test.csv';
$handle = fopen("$filename", "r");
while (($data = fgetcsv($handle, ",")) !== FALSE)
//foreach(fgetcsv($handle,",") as $data)
{
$import="INSERT into castigatori (id,cod,nume,oras,medalie) values('','$data[0]','$data[1]','$data[2]','$data[3]')";
mysql_query($import) or die("mysql_error()");
print $import."<br>";
}
fclose($handle);
print "Import done";
?>
它完成好,但只有當我在CSV文件中把每個字之間用逗號進口。因此,如果我想插入a,b,c,d,它只會在我將這些逗號放在它們之間時纔會導入。我想在單獨的單元格上寫下這些單詞:a b c d,而不必在逗號之間加上逗號和製表符。如果我用製表符分隔的話寫入,在我的mysql表中會顯示如下:a; b; c; d。任何人都可以告訴我該怎麼做才能正確插入它們?
我改變這樣的:當(($數據= fgetcsv($處理, 「」))==假的!) 這樣的:當(($數據= fgetcsv($處理) )!== FALSE),但不是在我的表格中插入這樣的單詞:a; b; C; d; – user1421688
它會以任何方式工作,因爲默認的分隔符是','。 – Ruel
你可以顯示你的csv文件的示例行嗎? – Ruel