MySQL LOAD DATA LOCAL INFILE显示导入的行数

时间:2014-09-25 13:38:50

标签: mysql file-io load local

我正在开发一个页面,客户端可以选择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));
            }

1 个答案:

答案 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

来源:LOAD DATA INFILE syntax