我正在使用 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/