Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter 2.2,MySQL-在csv导入后获取所有ID_Php_Mysql_Codeigniter - Fatal编程技术网

Php Codeigniter 2.2,MySQL-在csv导入后获取所有ID

Php Codeigniter 2.2,MySQL-在csv导入后获取所有ID,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在从csv导入数据,我需要获取添加行的id,并将该id插入到新表pesonInfo中。查询已忽略,以避免重复条目。有什么方法可以让我完成这个任务吗 守则: $files = directory_map('./assets/csv/'); foreach ($files as $file) : $csv = './assets/csv/' . $file; $q = "LOAD DATA LOCAL INFILE '$csv' IGNO

我正在从csv导入数据,我需要获取添加行的id,并将该id插入到新表pesonInfo中。查询已忽略,以避免重复条目。有什么方法可以让我完成这个任务吗

守则:

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

在我看来,您需要为此再运行两个查询

第一个查询应该在加载数据查询之前运行

$q = $this->db->query("SELECT MAX(id) max_id FROM person")->row();
$max_id = $q->max_id;
将数据加载到文件中以获取ID后将运行的第二个查询

$q = $this->db->where('id >', $max_id)->get('person');
$result = $q->result();
现在,您可以使用foreach$result获取行的id,该id可以存储在数组中供以后使用或执行任何操作