2015-11-06 3 views
0

Я попытался mysqldump в PHPPHP - MySQL дамп не работает с символом в пароле

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

отлично работает, если пароль равнина. Но когда в моем случае есть символ &, он не работает. Любая идея, почему, или как это можно решить?

Короткий ответ может не помещать символы в ваш пароль. Но это не тот ответ, который я ищу, и некоторые пароли DB недоступны. Поэтому мне нужно решение или обходной путь.

+2

Вы пытались поставить цитаты вокруг пароля? на всякий случай – Mubin

+1

вы пробовали использовать функцию escapeshellcmd: http://php.net/manual/en/function.escapeshellcmd.php – PaulF

+0

с использованием котировок. Благодарю. –

ответ

0

Использование котировок. Благодаря + Мубин

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

Учитывая, что вы используете какой-то неизвестный вход, я бы использовал escapeshellcmd, который должен быть в состоянии справиться со всем (в том числе имея в свой пароль в ').

Смежные вопросы