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

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

为了澄清,当我说命令时,我指的是以下内容: 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 命令。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top