mysql - wpdb 'load data file'

标签 mysql load-data-infile wordpress

我正在使用 wpdb 类来运行 LOAD DATA LOCAL INFILE。它工作正常并且数据插入正确 - 但它仍然返回 0,因此在示例中回显“No Update”。这是基于 LOAD DATA 方法的预期结果吗?如果是这样,是否有其他方法可以知道该进程已运行并且确实插入了行?

非常感谢!

菲利普

global $wpdb;
$filename = 'file.csv';
$sql = "LOAD DATA LOCAL INFILE '" . $filename . "'
INTO TABLE Stock_Item
FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 ROWS
(stock_item_code, stock_item_name)"; 

$result = $wpdb->query($sql);           
if ($result === false) { echo 'Query Fail'; }
if ($result === 0) { echo 'No update'; }
if ($result > 0) { echo 'Success'; }

最佳答案

我就是这样做的。

global $wpdb;
        $datafile= $_FILES['file']['tmp_name'];
        $file=$upload_dir['basedir'].'/'.$_FILES['file']['name'];
        $fileurl=$upload_dir['baseurl'].'/'.$_FILES['file']['name'];
        if (!move_uploaded_file(
        $_FILES['file']['tmp_name'],
        $file)) {
        print_r('Failed to move uploaded file.');
        }
        $sql="
        LOAD DATA LOCAL INFILE '".$fileurl."' INTO TABLE ".CRSSEARCH_TABLE."
        FIELDS TERMINATED BY ',' 
        LINES TERMINATED BY '\r\n'
        (ucn,name, course_number, standard, accredition,attended_course_form,attended_course_to,status,validity,location);
        ";
        $query = $wpdb->query($sql);

并且像魅力一样为我工作得很好。

关于mysql - wpdb 'load data file',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307081/

相关文章:

php - 运行 wood-starter-theme 时未找到类 'Timber'

php - SQL 按日期组按产品 ID 计数记录

php - 获取表名

php - 与此等效的 mysqli 是什么?

mysql - [42000][1064] SQL 错误 : Can't execute new table in DataGrip.

PHP 和 Ajax : Impossible to execute LOAD DATA LOCAL INFILE (mysql) from Ajax call

javascript - 如何在视频背景上添加静音/取消静音按钮 [On Divi - WordPress]

MySQL LOAD DATA INFILE 并进行重复键更新

php - 将 Zurb Foundation 5 集成到 Wordpress 3.8 主题中