2012-07-04 81 views
2

我試圖在我的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。任何人都可以告訴我該怎麼做才能正確插入它們?

回答

0

編輯

如果您想要的分隔符是一個空格,然後:

fgetcsv($handle, 0, " ") 
+0

我改變這樣的:當(($數據= fgetcsv($處理, 「」))==假的!) 這樣的:當(($數據= fgetcsv($處理) )!== FALSE),但不是在我的表格中插入這樣的單詞:a; b; C; d; – user1421688

+0

它會以任何方式工作,因爲默認的分隔符是','。 – Ruel

+0

你可以顯示你的csv文件的示例行嗎? – Ruel