【问题标题】:Using mysqlimport inside PHP script在 PHP 脚本中使用 mysqlimport
【发布时间】:2012-10-18 18:49:55
【问题描述】:

我正在尝试以编程方式将大量 CSV 文件导入 MySQL 数据库。

经过一番研究,我发现了 LOAD DATA,但这是不可能的,因为服务器不允许这样做。

然后,我发现 mysqlimport 是一个可行的替代方案。

这是发生了什么:

我从 FTP 服务器下载了很多 CSV 文件,然后一个一个地执行以下操作:

exec("ln " . $path . $csv_file. " " . $path . "CSVs.txt");
exec("mysqlimport -u root -ppass --local --ignore-lines=1 --columns=column1,column2 " .  $path . "CSVs.txt>" . $path . "_.txt");
unlink($path . "CSVs.txt");

首先,我创建了文件的符号链接(因为我没有设法使用与表名不同的文件名) 然后,我执行 mysqlimport 命令,将输出发送到一个 txt 文件。 最后,我删除了符号链接。

当我运行时,会创建和删除 CSV 临时文件,但在我的数据库和输出 txt 中都没有出现任何内容。

如果我在终端中回显命令并过去,它可以完美运行,但是在 exec 中,什么也没有发生。

我认为它与引号和反斜杠有关,但无法修复它。

任何帮助将不胜感激:P

编辑:我已经chmod**ed **mysqlimpot bin...仍然没有工作!

【问题讨论】:

  • 我觉得你可以试试SQLyog之类的GUI工具。
  • 我需要以编程方式进行...没有 GUI 工具可以做到 :(
  • 你为什么要投票给我?这个问题有什么问题?

标签: php mysql mysqlimport


【解决方案1】:

似乎 PHP 没有找到 mysqlimport 命令。所以,我必须使用它的完整路径才能让它工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 2011-04-05
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    相关资源
    最近更新 更多