首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -插入到多个表中,每个表都有标识字段

问PHP -插入到多个表中,每个表都有标识字段
EN

Stack Overflow用户
提问于 2015-10-17 01:19:13
回答 1查看 57关注 0票数 2

我将尽我最大的努力来解释我的目标是什么。我在网上搜索的所有东西对我来说都不够相关,无法获得一个想法。

首先,这是一个PHP任务,我们必须将CSV文件加载到MySQL数据库中。

现在,每个表(总共4个)都有完全相同的字段值。我试图完成的是使用for each循环,该循环使用CSV文件中的信息填充每个表。我知道我可以通过为每个表和CSV文件使用一个while循环来做到这一点,但我正在尝试超越要求,学习更多关于PHP的知识。下面是我想要实现的代码:

代码语言:javascript
复制
$files = glob('*.txt'); // .txt required extension 
foreach($files as $file) {

    if (($handle = fopen($file, "r")) !== FALSE) {
        while (($data = fgetcsv($handle,4048, ",")) !== FALSE) {
            echo $data[0]; // making sure data is correct
            $import = "INSERT INTO".basename($file)."(id,itemName,price) VALUES('$data[0]','$data[1]','$data[2]')";
            multi_query($import) or die (mysql_error());
        }
        fclose($handle);
    }
    else {
        echo "Could not open file: " . $file;
    }
}

每个CSV文件都包含id、itemName和price。希望这是可以理解的。谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-10-17 01:33:27

将数据导入MySQL的方式对于小数据量来说是可以接受的。但是,如果您正在导入大量卷(数千行),最好的方法是使用infile将其直接导入到MySQL中。例如:

代码语言:javascript
复制
LOAD DATA LOCAL INFILE '/path/to/your_file.csv' 
INTO TABLE your_table_name 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' LINES 
TERMINATED BY '\n' (id, itemName, price)

这是一种更聪明的导入CSV数据的方式:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33176108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档