MySQL LOAD DATA LOCAL INFILE 显示导入行数

标签 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));
            }

最佳答案

您可以使用 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

来源:LOAD DATA INFILE syntax

关于MySQL LOAD DATA LOCAL INFILE 显示导入行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040100/

相关文章:

mysql - SQL 返回计数 + 其他列

android - Android 模拟器上的文件存储在哪里?

java - 加载图像时应用程序崩溃

android - 如何在 Android Froyo 上调试 System.load 链接异常?

javascript - 页面完全加载后执行某些操作

mysql - 使用外键创建表时出错

java - Slackware 12 真的很慢 JDBC

mysql - Xampp 服务器中禁止访问且未找到页面错误

python - 这应该工作 : open() in python

iphone - 如何在 iPhone 应用程序中保存 .zip 文件