我正在尝试在我的mysql表中导入csv文件。这是我的代码:
<?
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,而不必使用逗号并在单词之间分隔制表符。如果我用tab分隔的单词写,我的mysql表中将显示如下:a; b; c; d。谁能告诉我怎么做才能正确插入它们?
答案 0 :(得分:1)
MySQL提供LOAD DATA INFILE
检查http://dev.mysql.com/doc/refman/5.1/en/load-data.html。
特别是:
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
答案 1 :(得分:0)
修改强>:
如果您希望分隔符为空格,则:
fgetcsv($handle, 0, " ")