我正在处理一个页面,客户可以在该页面上选择 CSV 文件以将数据导入到他们的数据库中。成功导入后,我想展示例如“插入 50 条记录”。我不确定 mysql_affected_rows()
是否会在使用 LOAD DATA LOCAL INFILE 时执行此操作...因为它没有显示任何消息。
if ((isset($_POST["MM_import"])) && ($_POST["MM_import"] == "confirm_import")) {
$importSQL = sprintf("LOAD DATA LOCAL INFILE '$data_file' INTO TABLE digi_form FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r' IGNORE 1 ROWS");
mysql_select_db($database_MBM, $MBM);
$Result2 = mysql_query($importSQL, $MBM) or die(mysql_error());
printf ("Records deleted: %d\n", mysql_affected_rows());
$insertGoTo = "process-importdata.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
最佳答案
您可以使用 PHP 函数 mysql_info()
// ...
$Result2 = mysql_query($importSQL, $MBM) or die(mysql_error());
printf ("Information: %s\n", mysql_info());
要获取此信息,LOAD DATE INFILE 返回:
When the LOAD DATA INFILE statement finishes, it returns an information string in the following format:
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
关于MySQL LOAD DATA LOCAL INFILE 显示导入行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040100/