• ベストアンサー

SQLクエリを外部から読み込む

PHPでmysql_query関数を使ってSQLを打つ際、クエリの内容を外部ファイルから読み込むことは可能でしょうか? hoge.sqlというファイルにSQL文を書いて、その内容をmysql_queryに渡したいのですが。

  • PHP
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • calltella
  • ベストアンサー率49% (317/635)
回答No.1

fopenでhoge.sqlファイルを読み込んでSQLを実行します。 if (!($fno = fopen("hoge.sql", 'r'))) { die; } while (!feof($fno)) { $sql = fgets($fno, 32000); } fclose($fno); http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k03.htm

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

file_get_contents()でよろしいのでは? http://www.php.net/manual/ja/function.file-get-contents.php

関連するQ&A

  • SQL Injection対策はこれで十分?

    データベースにMySQLを使用しています。SQL Injection対策を行いたいのですが、以下の方法で十分防ぐことができるのでしょうか? <?php $hoge = $_GET['ok']; $sql = "select * from ok where user = '".mysql_real_escape_string($hoge)."';"; $res = mysql_query($sql ....... ?> よろしくお願いします。

    • ベストアンサー
    • PHP
  • 外部ファイルでクエリを実行したい

    「クエリを実行している間にローディング画像を表示する」という処理をしたいです。 外部ファイルの[load.php]内で「データベース接続→mysql_queryを実行する」という処理を 行い、[index.php]で結果を表示したいのですが、うまくいきません。 ※load.phpの中身をindex.php内に書いた場合は成功する ※load.phpの読み込み自体はできている。 [index.php] <script type="text/javascript"> $(function(){ $("#sample").load("load.php"); }) </script> <div id=sample> <div id="loader"><img src="edit/img/loader.gif" width="24" height="24" alt="Loading..." /></div> <?php echo $num; ?> </div> [load.php] <?php $conn = mysql_connect("localhost","DB","pass",true); mysql_query("SET NAMES utf8") or die("can not SET NAMES utf8"); mysql_select_db('DB',$conn); $sql = "SELECT ~" $result = mysql_query($sql) or die(mysql_error()); $num = mysql_num_rows($result); ?>

    • ベストアンサー
    • PHP
  • PHP+MySQL SQL文を外部ファイル化したい。

    表題のとおりなのですが… $result = mysql_query( "SELECT * FROM FOO" ); では、動作しています。 このセレクト文を、selectFOO.sql として外部ファイル化し、 (ファイルの中身は、「SELECT * FROM FOO」) $result = mysql_query( selectFOO.sql ); とすると、 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'selectFOO.sql' at line 1 が返ってきます。 SQL文が正しくないよ。マニュアル見てね。 と言われてるのは分かるのですが、 マニュアルのどこを見れば良いのかさえ分かりません。 助けてください。 よろしくお願いします。

    • 締切済み
    • PHP
  • SQLのクエリで教えてほしいです。

    SQLのクエリで教えてほしいです。 ある列のTOP10を出してグラフを作成したいと考えております。 また、そのTOP10の行をカウントして何件あるかを知りたいのですが なかなか思うように動きません。 以下クエリを作ったのですが、結果に16行の結果(Top16?) になってしまいます。 また、一つのSQLで、Countも含めたいと思ってますが、こういった場合 はどこに記述すればいいのでしょうか。 select TOP (10) Percent hoge from hogehoge group by hoge order by hoge ご存知の方、よろしくお願い致します。

  • XAMPPのMYSQLでスロークエリの出力

    WindowsXP上のXAMPPでMySQL+PHPを使用したサイト開発を行っていますが、 PHP内で実行されるSQLコマンドが正しくMYSQLへ投入されていることを確認したいと考えています。 スロークエリの機能を用いることで、MYSQLに発行されたSQLコマンドを表示できると思いますが、 XAMPPのMYSQLに対して、どのような設定を行えばよいのかわかりません。 いろいろ調べたところだと、単純にLinux上のスロークエリ設定をでは動作しないようです。 どのような設定を行えば、XAMPP上でスロークエリをファイル出力できるのでしょうか。

    • ベストアンサー
    • MySQL
  • PHPのSQLスロークエリでサーバアカウント停止。遅延クエリって何ですか?

    PHPとMySQLの入門者です。 このたびWordPressのプラグイン(PHP)を追加したところ、 「Slow MySQL queries are not allowed, because you share server resources with thousands of other users and your long MySQL 」 という警告文とともに、アカウント停止を食らってしまいかなりへこみました。 これがきっかけで、PHPとSQLの勉強を始めるようになりました。 しかし、私の買ってる入門書レベルの本や、かなり上級の本を立ち読みしても、遅延クエリとは何か、ずばりと解説している本がなかなかみつかりません。 素人なりにソースを見た限りでは、プラグインPHPには無限ループなどは無い様子です。 なぜ私のWordPressプラグインが遅延クエリの犯人なのかわからなくて困っています。 というか、お恥ずかしながらそもそも遅延クエリって何ですか?というレベルです。 無限ループでもないのに、クエリ遅延が起きる要因としては、どんなケースがあり得るものでしょうか?

    • ベストアンサー
    • PHP
  • mysql_queryの処理速度が遅い

    PHP+MySQLでプログラミングをしているのですが、実行時にmysql_queryの処理に時間がかかっています。状況は以下の通りです。 ・処理時間を計測するとmysql_queryの実行に15秒程度かかっています。 ・Webminで直接同じSQL文を実行すると1秒程度で終わります。 ・SQLのコマンドは単純なUPDATEです。 ・indexは設定してあります。 ・DBに格納してあるレコード数は数100件程度です。 ・optimizeは実行してみましたが、あまり効果はありませんでした。 お聞きしたいのはWebminで実行すると1秒程度で終わるSQL文がmysql_queryで実行すると、なぜ時間がかかるのかということです。 mysql_queryで時間がかかる原因およびmysql_queryの処理時間を短縮する方法などがあれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • クエリファイルから外部のクエリファイルを実行する方法

    SQL Server2000です。 DB構築を行うにあたり、インストールで実行するクエリファイルから、 別のクエリファイル(実際にテーブル、ストアドを構築する内容を記述)を実行できる方法がわからず悩んでいます。 a.sql・・・b.sqlやc.sqlを統括するクエリファイル b.sql、c.sql・・・テーブル構成、ストアドを構築するクエリファイル SQL クエリアナライザからa.sqlのクエリファイルを開いて、 クエリ実行するイメージでいます。 a.sqlからb.sqlを呼び出すには、どのような記述をすればよろしいのでしょうか? よろしくお願いします。

  • PHP+mysqlでSQL文に文字数制限はありますか?

    基本的な質問で申し訳ありません。 $sql="......";にSQL文を書き $rst = mysql_query($sql,$con); $col = mysql_fetch_array($rst); として($conはmysql_connect関数の結果です) WEBを作成しているのですが、ある程度以上長いSQL文を書くと正常に作動しません。(短いSQLであれば正常に差作動します。)  当然SQL文自体もmysqlで直接実行すると作動するものです。SQL文自体がUNIONや副問い合わせを多用し250行程度になってしまったためかと考えていますが、文字数制限等があるのでしょうか?PHPには変数宣言が無いと認識しているのでどう対処して良いかわかりません。 SQLを分解できないとすると何か良い方法はありますでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • AccessのクエリをSqlサーバーのクエリへ変換

    Accessで書かれたクエリをSqlサーバーのクエリに変換したいと考えているのですが そのクエリは膨大な行数ある上にIIF関数やSwitch関数がそこら中に含まれており、一つ一つ置換していられません。 もしどなたかIIF関数などのAccessのクエリをSqlサーバーのクエリへ変換してくれるソフトをご存知の方いらっしゃいましたら教えていただければ幸いです。 よろしくお願いいたします。 ◆バージョン SQL Server:SQL Server 2008 R2 ACCESS:ACCESS2000 OS:Windows7

専門家に質問してみよう