PHP - mysql转储不能使用密码中的符号

时间:2015-11-06 11:49:28

标签: php mysql mysqldump

我在php

中尝试了mysqldump
shell_exec("mysqldump --user=$username --password=$password --host=$host $database > dump.sql");

如果密码是普通的,则工作正常。但是,如果在我的情况下密码&中有一个符号,它就无法正常工作。知道为什么,或者如何解决这个问题?

简短的回答可能是不在您的密码中加上符号。但这不是我正在寻找的答案,而且一些数据库密码超出了我的职责范围。所以我需要一个解决方案或解决方法。

2 个答案:

答案 0 :(得分:1)

鉴于您使用的是某些未知输入,我会使用escapeshellcmd,它应该能够处理所有内容(包括密码中包含')。

答案 1 :(得分:0)

使用引号有效。谢谢+ Mubin

 shell_exec("mysqldump --user='$username' --password='$password' --host=$host $databaseName > dump.sql");