0

是否可以从 PHP 脚本中执行与 MySQL 客户端相同的命令?

我知道理论上我可以调用“系统”来调用安装在系统上的 mysql 客户端,但我不确定如何避免交互(我不想要 REPL/shell,我只想触发一个命令)。有没有办法通过mysql客户端执行命令而不进入shell?无论哪种情况,这种方法似乎都有些粗略。

为了澄清,当我说命令时,我指的是以下内容: http: //dev.mysql.com/doc/refman/5.0/en/mysql-commands.html

4

2 回答 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 命令`

于 2010-09-30T20:02:03.027 回答
0

听起来很骇人听闻。有Expect来处理“编程交互性”,即等待提示说出特定事情的方法。我不认为 exec 会起作用,除非你可以通过特定的开关并以非交互模式运行 mysql 。根据您要执行的操作,我会说最好尝试找出可以通过常规客户端库发送的 SQL 命令。

于 2010-09-30T19:53:17.003 回答