是否将CSV导入数据库表不起作用?

时间:2018-07-23 作者:Coder Sathya

global $wpdb;

if (isset($_POST["import"])) {

$fileName = $_FILES["file"]["tmp_name"];

if ($_FILES["file"]["size"] > 0) {

    $file = fopen($fileName, "r");

    while (($column = fgetcsv($file, 10000, ",")) !== FALSE) {


        $table_name = \'sas\' ;


        $wpdb->insert( 


            $table_name,


            array( 


            \'category\' => \'" . $column[0] . "\',

            \'temple\' => \'" . $column[0] . "\'

        )
            );





    }
}
}
我想将csv直接导入核心wordpress数据库表“sas”。csv包含一些具有我创建的表结构的记录。。。但导入未成功。。

1 个回复
SO网友:Aniruddha Gawade

您可以使用Load data infile MySQL查询,而不是遍历每个条目。

文件编号:https://dev.mysql.com/doc/refman/8.0/en/load-data.html

例如:

$wpdb->query(
                $wpdb->prepare(
                        "LOAD DATA LOCAL INFILE %s INTO TABLE sas FIELDS TERMINATED BY \',\' ENCLOSED BY %s IGNORE 1 LINES (@category,@temple) SET category = @category, temple = @temple;", $_FILES[\'file\'][\'tmp_name\'], \'"\'
                )
        );
确保文件中的字段正确映射到数据库中的字段。它还将根据您的文件格式进行更改。希望这有帮助。

注意:请检查语法错误/拼写错误,代码未尝试或测试。

结束

相关推荐

Pull specific data from CSV

我正在建立一个网站,客户有特定的要求。开源应用程序有。提供大量数据的csv文件。他们想从csv中提取一些字段,并将其放在wordpress网站上。有可能做那样的事吗?他们希望自动化我将链接放置到CSV的过程,选择它将提取的字段,然后这些字段显示在网站上。此外,当CSV更新时,数据也将更新。有可能这样吗?