在.php中将.csv文件导入mysql

时间:2013-01-05 05:52:22

标签: php mysql csv

我有一个.csv文件,但我无法将其导入数据库。我使用以下查询解析了我的.csv文件。你能帮我解决一下如何将数据插入MySql。

我的代码是: -

$fp = fopen('test.csv','r') or die("can't open file");
print "<table>\n";

while($csv_line = fgetcsv($fp,1024)) 
{
    print '<tr>';
    for ($i = 0, $j = count($csv_line); $i < $j; $i++) {

        print '<td>'.$csv_line[$i].'</td>';
        $data[] = $csv_line[$i];
    }
    print "</tr>\n";
}
print '</table>\n';
fclose($fp) or die("can't close file");

3 个答案:

答案 0 :(得分:4)

在MySQL中,我们可以非常轻松地将CSV文件中的数据导入到表格中:

LOAD DATA LOCAL INFILE 'import.csv' INTO TABLE from_csv FIELDS TERMINATED BY ','  LINES TERMINATED BY '\n'  (FIELD1, FIELD2, FIELD3);

http://dev.mysql.com/doc/refman/5.0/en/load-data.html

实施例: http://www.techtrunch.com/linux/import-csv-file-mysql-table

答案 1 :(得分:0)

代码似乎采用csv文件并将其作为表格数据表导出到浏览器。

您提到导入到mysql表中,但没有列出mysql信息。创建一个mysql表并尝试将要导入的字段映射到表中的数据库字段。对我来说最简单的方法是使用phpmyadmin来生成加载数据sql,尽管如果你理解了足够的改变它,答案中提到的加载数据本地infile也会起作用。

当我学会了如何操作时,我使用了本教程。 http://vegdave.wordpress.com/2007/05/19/import-a-csv-file-to-mysql-via-phpmyadmin/

答案 2 :(得分:0)

您可以使用此代码。我希望这会有所帮助 //从上传文件字段上传csv文件后  $ handle = fopen($ _ FILES ['csvfile'] ['tmp_name'],“r”);

$ header = fgetcsv($ handle);

while(!feof($ handle)){

while(($ data = fgetcsv($ handle,1000,“,”))!== FALSE){

$ import =“INSERT into csvtest($ header [0],$ header [1],$ header [2],$ header [3],$ header [4],$ header [5],$ header [ 6])值('$ data [0]','$ data [1]','$ data [2]','$ data [3]','$ data [4]','$ data [5 ]','$ data [6]')“;

mysql_query($ import)或die(mysql_error());

}

}

FCLOSE($处理);