質問

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 コマンドを見つけ出すのが最善だと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top