MySQL команды (не выступление SQL) от PHP
-
26-09-2019 - |
Вопрос
Возможно ли, из-за скрипта PHP выполните те же команды, которые вы можете с помощью клиента MySQL?
Я знаю, что я мог бы теоретически вызывать «систему», чтобы вызвать клиент MySQL, установленным в системе, но я не уверен, как избежать интерактивности (я не хочу refr / Shell, я просто хочу выстрелить команду). Есть ли способ выполнить команды через клиент MySQL, не переходя в оболочку? В любом случае этот подход кажется немного схематичным.
Чтобы уточнить, когда я говорю команду, я имею в виду следующие: http://dev.mysql.com/doc/refman/5.0/en/mysql-commands.html.
Решение
while ($obj = mysql_fetch_object($res)) {
$file = $path.$obj->base.".sql";
$cmd = "rm -f ".$file;
exec($cmd);
$cmd = "nice -19 mysqldump -h".$host." -u".$login." -p".$pass." ".$obj->base." > ".$file;
exec($cmd);
$sql = "update save_mysql set last_daily=NOW() where base = '".$obj->base."'";
mysql_query($sql);
}
Вы ищете что-то вроде этого.
Использование функции exec вы можете вызвать команду mysql`
Другие советы
Звучит хаки. Есть Ожидать Для обработки «интерактивности программирования», то есть способ дождаться подсказки, чтобы сказать конкретные вещи. Я не думаю, что Exec будет работать, если вы не сможете пройти определенные коммутаторы и запустить MySQL в неинтерактивном режиме. В зависимости от того, что вы пытаетесь сделать, я бы сказал, что лучше всего попробовать, чтобы понять команду SQL, вы можете отправить через обычные клиентские Libs.