我正在开发一个页面,客户端可以选择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));
}
答案 0 :(得分:0)
您可以使用PHP函数mysql_info()
// ...
$Result2 = mysql_query($importSQL, $MBM) or die(mysql_error());
printf ("Information: %s\n", mysql_info());
获取此信息,LOAD DATE INFILE返回:
当LOAD DATA INFILE语句完成时,它返回一个 信息字符串采用以下格式:
记录:1删除:0跳过:0警告:0