Я потратил больше часов, чем могу себе представить, пытаясь выяснить это 🙂 Файл создан успешно, однако он либо равен 0 байт, либо содержит справочную страницу mysql. Я не могу заставить это работать правильно или выдает сообщение об ошибке.
Запрос выполняется правильно в MySQLAdmin. Я могу заменить вызов mysql на ls, и он передает список файлов в мой выходной файл. Строки хоста, пользователя и пароля корректны и хорошо отформатированы. Приводит меня к мысли, что с моим синтаксисом что-то не так?
$command = 'mysql --host=localhost --user='.DBASEUSER.' --password='.DBASEBPSWD.' --database='.DBASE.' -execute=SELECT Real_acct.Mail_Addr_1 from Real_acct > ../outputfiles/output.txt';
$returnVal = system($command, $returnVal);
У вас есть только один тире (-
) до вашего execute
параметр. Возможно, вам также понадобятся двойные кавычки вокруг вашего запроса:
$command = 'mysql --host=localhost --user='.DBASEUSER
.' --password='.DBASEBPSWD
.' --database='.DBASE
.' --execute="SELECT Real_acct.Mail_Addr_1 from Real_acct" > ../outputfiles/output.txt';
$returnVal = system($command, $returnVal);
Других решений пока нет …