Mysql导入使用PHP


Mysql import using PHP

我试图在PHP中使用系统命令导入mysqldump文件。我是这样做的-

$command = "F:'System 1.1'server'mysql'bin'mysql.exe -h localhost -P 7188 -u username -ppassword <dbname> < F:'System 1.1'backup.sql";
system($command,$return)

$return的值为1。语法不正确吗?还有,有没有其他方法导入一个完整的数据库通过PHP?

(我给出了mysql.exe的完整路径,因为最终使用该程序的用户可能没有安装mysql并在路径中呈现)

一些想法:

  • 如果函数返回1 (true),这表示成功…我想你已经检查过它不能工作了吧?
  • MySql中有source命令,例如use database;path_to_file来源;虽然这可能在这种情况下没有帮助,因为你想直接运行mysql.exe。

您的文件路径在F:'System 1.1中包含空格,这可能会导致PHP出现问题。你应该像下面这样用引号括起来。也可能需要双反斜杠作为路径分隔符。

$command = "'"F:'System 1.1'server'mysql'bin'mysql.exe'" -h localhost -P 7188 -u username -ppassword <dbname> < '"F:'System 1.1'backup.sql'"";
//---------^^^^---------------------------------------^^^^ Also in the backup.sql path...

当PHP执行未加引号的命令时,它看到:

F:'System