gpt4 book ai didi

php - Wordpress wpdb - 在自定义插件中插入上传的大型 csv 文件中的记录

转载 作者:行者123 更新时间:2023-11-29 06:27:44 28 4
gpt4 key购买 nike

我正在编写 WordPress 插件,可以从上传的 CSV 文件导入记录。它应该如何工作:

  1. 从磁盘中选择文件;

  2. 点击上传;

  3. 脚本遍历文件并插入记录(postcode 列是唯一的),当 postcode 存在时,其他字段会更新。

现在一些代码(针对这个问题进行了简化):

///...
$handle = fopen($file, "r");
while( ($row = fgetcsv($handle)) !== FALSE ){
$searcher->wpdb->insert( $searcher->wpdb->prefix . "searcher_postcodes", array(
"name" => $row[1],
"postcode" => $row[0],
"state" => $row[2],
"state_short" => $row[3],
"city" => $row[4],
"lat" => $row[5],
"lng" => $row[6]
) );
echo "<br><code>" . $searcher->wpdb->last_query . "</code>";
if( $searcher->wpdb->insert_id > 0 ){
$imported++;
echo "success";
}else{
echo "failure";
}
}

几乎一切都很好,但有一次我得到了一些记录:

Importing 16348

INSERT INTO wp_searcher_postcodes (name, postcode, state, state_short, city, lat, lng) VALUES ('Marienwerder', '16348', 'Brandenburg', 'BB', 'Barnim', '52.85', '13.6') success

Importing 16352

INSERT INTO wp_searcher_postcodes (name, postcode, state, state_short, city, lat, lng) VALUES ('Marienwerder', '16348', 'Brandenburg', 'BB', 'Barnim', '52.85', '13.6') failure

在第二个查询中,我有前一个查询的数据,但它失败了。所以不是每个。有什么方法可以对 wpdb 中的每个查询进行排队或缓冲或类似的操作吗?

最佳答案

检查文件编码,我遇到了同样的问题,更改文件编码对我有用

关于php - Wordpress wpdb - 在自定义插件中插入上传的大型 csv 文件中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58523947/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com