PHP からの MySQL コマンド (SQL ステートメントではない)
-
26-09-2019 - |
質問
MySQL クライアントで実行できるのと同じコマンドを PHP スクリプト内から実行することは可能ですか?
理論的には、「system」を呼び出して、システムにインストールされている mysql クライアントを呼び出すことができることはわかっていますが、対話性を回避する方法がわかりません (REPL/シェルは必要ありません。コマンドを起動したいだけです)。シェルに行かずに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 コマンドを呼び出すことができます`
他のヒント
ハックっぽいですね。あるよ 期待する 「プログラミングの対話性」を処理するため、つまり特定のことを言うプロンプトを待つ方法。特定のスイッチを渡して非対話モードで mysql を実行できない限り、exec は機能しないと思います。何をしようとしているかにもよりますが、通常のクライアント ライブラリを通じて送信できる SQL コマンドを見つけ出すのが最善だと思います。
所属していません StackOverflow