
表題のとおりなのですが…
$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文が正しくないよ。マニュアル見てね。
と言われてるのは分かるのですが、
マニュアルのどこを見れば良いのかさえ分かりません。
助けてください。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>例えば、どんなのがあるのでしょうか
外部ファイル化すると、webサーバーの設定次第ではブラウザで直接 SQLファイルを見れたりDL出来たりします
知識のある人ならばそのSQL文を見ただけでどう攻撃すればよいか分かってしまいます
俗に言うSQLインジェクション攻撃されます。
外部ファイル化するならばあくまでもphpとして外部化して includeするなりしたほうがよっぽど賢い選択です
例えば
-----------selectFoo.php
$sql="SELECT * FROM FOO";
-----------
------------index.php
include "selectFoo.php"
(中略)
$result = mysql_query($sql);
---------
っという感じです
返信ありがとうございます。
拡張子を「.php」にして、「include」。
これをすると、SQL文に変数入れたり出来ますね。多分…
file関数よりもこっちか。と思いました。
.htaccess に「.sql」書いて見れなくすれば良いよね。と思ってたのですが、
include する。を選びたくなりました。
No.2
- 回答日時:
手っ取り早いのはfile関数
http://www.php.net/manual/ja/function.file.php
#1さんも指摘のとおりファイルI/Oは通常はfopen
でしょうね
http://www.php.net/manual/ja/function.fopen.php
PHPマニュアルは最低限読むようにしましょう
(サンプルコードも豊富ですしね)
返信ありがとうございます。
>PHPマニュアルは最低限読むようにしましょう
そのとおり…
http://www.php.net/manual/ja/
みながら書いてるのですが(見ないと書けないので…)
PHP出来ないのに、JavaScriptなんとなく(本見ながら)出来るから大丈夫だろう。で書いてます。
そんな感じで、サンプルを書き換えてみてます。
file関数で、fopen()より先に見つけたので
$result = mysql_query( file_get_contents( 'selectFOO.sql' ) );
としたら動いたので、fopen()~…もやってみます。
No.1
- 回答日時:
がると申します。
えと………どんなに最低限でも
・ファイルopenして
・ファイルの中身readして
その情報を引数で渡してあげないと、と思うのですが、どんなもんでしょうか?
ちなみに「SQL文を外だし」は、よっぽど気をつけないと「シャレにならないセキュリティホールが山のように」発生しますのでご注意ください。
痛…。初歩的ですね…。
返信ありがとうございます。
SQLとは別に、GDをやってました。
ファイルパスを直接渡してたりしてたので、その感覚のままでした…(言訳;)
>ちなみに
例えば、どんなのがあるのでしょうか。
絞れる検索語だけでも、お教え願えないでしょうか。
キキマクリですが… よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- YouTube youtubeからの著作権メールについて 2 2023/02/14 16:12
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- 公的扶助・生活保護 保証人? 1 2022/05/17 22:42
- 英語 The Twilight Zone1959に関するCBSの回答について 1 2023/03/02 15:13
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コメントフォームの設定方法
-
PHPのインストールで
-
WordPress の検索結果に日本語...
-
リンクしたPHPへ変数をわたしたい
-
アクセスされたくないファイル...
-
cronで動かすと保存されなくなる
-
JavaScriptからPHP実行
-
1つのファイルにデザイン(HTML...
-
phpファイルを編集させない方法
-
複数の添付ファイルの受信について
-
レンタルサーバーに設置したフ...
-
XMLタグ情報取得
-
PHPの環境設定
-
PHPのクッキーの設置について質...
-
Webページでphpを使って共通部...
-
Fatal error
-
phpの記述とHP作成ソフトの連携...
-
phpカレンダーについて。
-
指定したURLのソース(HTML...
-
Wordpressの質問です(テーマエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
.phpファイルが、表示されない
-
session_start()でwarningが表...
-
サーバー間のファイルの移動(コ...
-
URLが.PHPってどういう...
-
apacheで拡張子を省略してアク...
-
PHPを使ってのサーバ上ファイル...
-
file(), file_get_contents(), ...
-
「temp.ppd」という添付ファイル
-
コマンドプロンプト エラー
-
fputs()はfwrite()のエイリアス...
-
use と requireの違いは?
-
PHPでフォルダ選択ダイアログを...
-
バイナリーデータをGIFで表示さ...
-
Xamppでindex.phpだけしか表示...
-
PHPファイルの中身が見られるこ...
-
sqlite_open、SQLite3::open
-
HTMLに埋め込んだPHPがうまく出...
-
phpでgifアニメかどうかチェッ...
おすすめ情報