PHP 中的 MySQL 命令(不是 SQL 语句)
-
26-09-2019 - |
题
是否可以在 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 命令。
不隶属于 StackOverflow