php - 当我使用exec()时如何从mysqldump返回?

时间:2016-08-20 03:43:35

标签: php mysql

请帮助我,我几个小时都遇到问题寻找解决方案:((

我想使用exec()函数从我的php脚本中使用mysqldump。

我在php中做到了

$com = "mysqldump --user=username --password=mypassword mydatabasename >c:\dump\test.sql";
$exec($com,$result); var_dump($result);

它始终在指定位置返回一个空的test.sql文件,而$result始终是一个空数组。

问题是,当我在CMD中写出相同的确切行时,有效!

我尝试使用shell_exec(),结果也是空字符串!我也尝试添加--host = localhost,但也没有任何反应。

我使用xampp服务器在windows本地机器上工作,我的mysqldump是MARIA DB

1-为什么同一行在CMD中起作用,但不是从php脚本起作用?

2-如何从exec()函数中获取结果以了解我的错误在哪里?

非常感谢你帮助我:(

1 个答案:

答案 0 :(得分:1)

https://serverfault.com/questions/249853/does-mysqldump-return-a-status

那个回答让我几乎哭了。 我终于goooooooot itttttt! 我在调用中添加了2>c:/dump/database.err,最后输出了错误的booooooooooooooooo。

  

" mysqldump的'不被识别为内部或外部命令,可操作程序或批处理文件。"

我更正了完整的路径名并完成了它。哦,我讨厌编程:(