2

我有一个 .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");
4

3 回答 3

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

于 2013-01-05T05:58:58.720 回答
0

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

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

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

于 2013-01-05T06:04:21.550 回答
0

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

$header = fgetcsv($handle);

while(!feof($handle)){

而 (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

$import="插入 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) 或死(mysql_error());

}

}

fclose($句柄);

于 2013-01-05T06:10:46.990 回答