PHP、MySQL - 插入带标题的 CSV 文件

标签 php mysql codeigniter csv

我有带有标题和数据字段的 CSV 文件。我如何通过 SQL 查询插入它并删除 header 。目前我编写的代码正在运行,但它将 header 作为数据插入到数据库中。

代码:

   $files  = directory_map('./assets/csv/');
    foreach ($files as $file) :
        $filefile = './assets/csv/' . $file;
        $q = "LOAD DATA LOCAL INFILE '$filefile' INTO TABLE person FIELDS TERMINATED BY ','  
              LINES TERMINATED BY '\n'  (personal_name, personal_lastname, 
              personal_country,personal_address,contact_email,dateadded);";
        $this->db->query($q);           
    endforeach;

最佳答案

您可以在加载数据中使用忽略xx行子句(有关此的文档)[ http://dev.mysql.com/doc/refman/5.1/en/load-data.html]向下跳大约三分之一:

    $q = "LOAD DATA LOCAL INFILE '$filefile' INTO TABLE person FIELDS TERMINATED BY ','  
          LINES TERMINATED BY '\n' ignore 1 lines (personal_name, personal_lastname, 
          personal_country,personal_address,contact_email,dateadded);";

这将导致输入跳过 CSV 的 1 行 - 我假设这是您的 header 。但是需要跳过许多行才能获取数据本身。

关于PHP、MySQL - 插入带标题的 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26099263/

相关文章:

php - 如何在 php 中为 htmlentities() 函数默认设置 ENT_QUOTES 标志

php - 输出中获得的值未按正确的顺序排序

PHP MessDetector 给出的字段修饰符无效

php - 还包括 MySQL SELECT 查询中的 NULL 行

javascript - 如何将同一文件夹的图标显示到另一个页面(链接)

javascript - PHP json_encode 到 JS 对象数组

php - PHP中多表的分页逻辑

MySQL基于列值的查询

php - 使用 jQuery 在 Codeigniter 中使用 Ajax

php - Codeigniter 加入返回最后一个 ID