MySQL команды (не операторы SQL) из PHP

0

Возможно ли, изнутри PHP script, выполнить те же команды, что и с клиентом MySQL?

Я знаю, что теоретически могу назвать "систему" ​​для вызова клиента mysql, установленного в системе, но я не уверен, как избежать интерактивности (я не хочу REPL/shell, просто хочу запустить команду), Есть ли способ выполнить команды через клиент mysql, не входя в оболочку? В любом случае этот подход кажется немного отрывочным.

Чтобы пояснить, когда я говорю команду, я имею в виду следующее: http://dev.mysql.com/doc/refman/5.0/en/mysql-commands.html

  • 0
    Какую команду конкретно вы хотите выполнить?
Теги:
penetration-testing

2 ответа

1
Лучший ответ
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`

  • 1
    Не могли бы вы отступить свой код 4 пробела? Выберите чанк и нажмите кнопку 1010 . Это сделает его красиво отформатированным и легким для чтения.
  • 0
    сейчас читай !!! спасибо за информацию в любом случае. :)
0

Звучит хаки. Там Expect, чтобы обрабатывать "интерактивность программирования", то есть способ дождаться подсказки, чтобы сказать конкретные вещи. Я не думаю, что exec будет работать, если вы не сможете передать определенные ключи и запустить mysql в неинтерактивном режиме. В зависимости от того, что вы пытаетесь сделать, я бы сказал, что лучше всего попробовать и вычислить команду SQL, которую вы можете отправить через обычные клиентские библиотеки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню