我正在尝试使用PHP中的system命令导入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并出现在路径中。)
答案 0 :(得分:0)
一些想法:
答案 1 :(得分:0)
您的文件路径在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
并失败,因为这是一个无效的命令。