PHP で SQL 文を txt ファイルから実行
2010年 03月 28日
SQLをファイルを読み込ませて実行しようとして、ファイルのパスにスペースが入っていて動作しなくて苦戦・・・
Windows ってなんでここに→ C:\Program Files スペースなんて入れたんだろうか!
ダブルクォーテーション→”で括ってあげれば大丈夫と懐ってたのが慝いんだけど、それにしてもコマンドプロンプトではダブルクォーテーション使えるんだけどMySQLだとだめ。
試しに
& `C:\Program Files\Mozilla Firefox\firefox.exe`
C:\Program` Files\Mozilla` Firefox\firefox.exe
上記みたいにエスケープ→`を入れてあげみたけど上手くいかない。
まぁ、パスやファイル名のスペースには気をつけろということで、以下
//MySQLのユーザー名とパスワード設定
$mysql_id = "root";
$mysql_password = "";
//sqlの記述されているファイルのパス(*.sqlファイルも同様)
$sql_path = "C:/SQL/query.txt";
//コマンドラインで入力
$command = 'mysql -u '.$mysql_id.' -p'.$mysql_password.' '.$dbname.' < '.$sql_path;
//実行
$res = exec($command);
//実行判定
if ($res <> "") {
echo '<br />Create Table failed: '.$res.'<br />';
exit;
}
ん~楽。

genki-?
mada minna wow yatteru no kana ?
jikan toresou dakara soro soro fukki suru-!!
おかえり~。
みんなまだチコドリルでやってるから復帰すれば皆いるよ~w
ワシお金なくて課金してないんだけどね(´・ω・`)ガッカリ・・・