我在php
中尝试了mysqldump
shell_exec("mysqldump --user=$username --password=$password --host=$host $database > dump.sql");
如果密码是普通的,则工作正常。但是,如果在我的情况下密码&
中有一个符号,它就无法正常工作。知道为什么,或者如何解决这个问题?
简短的回答可能是不在您的密码中加上符号。但这不是我正在寻找的答案,而且一些数据库密码超出了我的职责范围。所以我需要一个解决方案或解决方法。
答案 0 :(得分:1)
鉴于您使用的是某些未知输入,我会使用escapeshellcmd
,它应该能够处理所有内容(包括密码中包含'
)。
答案 1 :(得分:0)
使用引号有效。谢谢+ Mubin
shell_exec("mysqldump --user='$username' --password='$password' --host=$host $databaseName > dump.sql");