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;
    }
    

    ん~楽。

    ★☆★☆★☆ ナウでヤングなレンタルサーバー!ロリポップ! ☆★☆★☆★
    月額105円~容量最大30GB!WordpressやMovable Typeの簡単インストール付★


    2 Responses to “PHP で SQL 文を txt ファイルから実行 ”

    1. genki-?
      mada minna wow yatteru no kana ?
      jikan toresou dakara soro soro fukki suru-!!


    2. おかえり~。
      みんなまだチコドリルでやってるから復帰すれば皆いるよ~w
      ワシお金なくて課金してないんだけどね(´・ω・`)ガッカリ・・・


    Post a Comment