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包含一些具有我创建的表结构的记录。。。但导入未成功。。
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\'], \'"\'
)
);
确保文件中的字段正确映射到数据库中的字段。它还将根据您的文件格式进行更改。希望这有帮助。
注意:请检查语法错误/拼写错误,代码未尝试或测试。