人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPを使ってMySQLを利用しています。関数mysql_query()で、SQLクエリを発行しているのですが、基本的に、SQLクエリは1文しか受け付けません。複数のSQLクエリ文を含む「一つ変数」に対して、その複数すべてのSQLクエリを実行する方法はございますでしょうか?例えば、
$sql = "CREATE TABLE ........; SELECT * FROM .........; INSERT .....; ";
mysql_query($sql);
のように$sqlに3つのSQLクエリを含んでいて、それを一つずつ実行して欲しいと考えています。
#本来の目的は「MySQLAdminで、エクスポートしたSQL郡を、PHPを使って別サーバにインポートしたい。」です。


●質問者: SOL
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL PHP SELECT SQL インポート
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● livings
●27ポイント

Mysql関連の関数にはなさそうです。

http://php.s3.to/man/ref.mysql.html

SQLの実行結果から処理を変えることからすれば不要とも考えられます。

OSコマンドの実行によってMySQLAdminでスクリプトを実行するという手はいかがでしょうか。

http://php.s3.to/man/function.system.html

◎質問者からの返答

ありがとうございます。"MySQLAdminでスクリプトを実行する"というのが、いまいち分かりませんでした。スクリプトを入力できるんでしたっけ?


2 ● m-takagi
●27ポイント

PHP のバージョンが 5 以降で、かつ MySQL のバージョンが 4.1.3 以降なら、mysqli 関数群が使用できます。

◎質問者からの返答

なるほど!こんなのがあったんですね。ありがとうございます。利用しているレンタルサーバーで試していますが、mysqliが対応しているものの、mysqli_multi_query 関数のところで、エラーが出ています。でも、一番いい解決案です。ありがとうございます。


3 ● llusall
●26ポイント

このような作業はバッチファイルで実行されると良いかと思うのですが、いかがでしょうか?


テキストファイルから SQL コマンドを実行する方法

SQL コマンドをファイルに入力して、そのファイルから mysql に読み取らせることも可能です。これを行うには、実行するコマンドを含むテキストファイル text_file を作成します。 そして、以下のように mysql を起動します。


shell> mysql database < text_file


※その他

ファイル内のSQLを実行

◎質問者からの返答

ありがとうございます。使用しているレンタルサーバでmysqlクライアントが使えるか次第ですね。試してみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ