2012-07-04 4 views
2

Я пытаюсь импортировать CSV-файл в таблицу mysql. Это мой код:импортировать данные из 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

EDIT:

Если вы хотите разделитель быть пространство, то:

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

Я это изменилось: в то время как (($ = данные fgetcsv ($ ручка "")) == FALSE!) к этому: в то время как (($ = данные fgetcsv ($ ручка))! == FALSE), но не в моей таблице слова вставляются так: a; б; с; д; – user1421688

+0

Он будет работать в любом случае, так как делим по умолчанию - ','. – Ruel

+0

Можете ли вы показать образец строки вашего файла csv? – Ruel

Смежные вопросы