こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

外部サーバでの処理について

PHP + MySQL でデータベース検索結果を表示するシステムを作っています。
利用者側サーバには呼び出しスクリプトを置いて、
こちら側サーバには処理スクリプトを置くことにより
処理ノウハウの提供を防ぎたいのですがうまくいきません。

利用者側サーバでのスクリプト単体では問題なく動いているのですが、
こちら側のサーバで一部の処理を動かそうとすると
(つまり利用者側から require 'http://hogehoge.jp/list.php'; しようとすると)
下記のようにエラーとなってしまうのです。
(ちなみにこちら側サーバ単体でも正常に動作します。)

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /パス/list.php on line 9
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /パス/list.php on line 10

どちらのサーバも同じレンタルサーバ会社から借りており、PHP も MySQL も利用可能です。
他の部分ではエラーは出ないのですが、mysql_query() や mysql_fetch_row() などは
外部サーバでは使えないのでしょうか?

//全登録件数を表示する処理
$sql_countall = "select number from ".$db_table;
$result = mysql_query($sql_countall, $dbHandle );
while($temp = mysql_fetch_row($result)){
$datacount = $datacount +1;
}

投稿日時 - 2004-03-26 15:20:46

QNo.815594

暇なときに回答ください

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

requireと言うよりmysql_query()の部分でエラーがでていますね…

require部分の問題なら
まず、phpinfo()を読んでみて
「allow_url_fopen」が有効になっているかを見てください。
参考)http://jp.php.net/manual/ja/ref.filesystem.php#ini.allow-url-fopen

また、サーバのOSがwindowsで
PHPのバージョンが4.3.0以前ですと
リモートファイルへのrequireは出来ないそうです。


所でデータベースはどちら側のサーバにあるのでしょうか?
管理側のサーバにデータベースが入っている状態で
利用者側からスクリプトをrequireしても
接続先が違ってきますよね…

投稿日時 - 2004-03-26 16:57:52

補足

ご回答ありがとうございます。
調べてみましたが allow_url_fopen は 1(Local Value とMaster Value)となっていました。
サーバは FreeBSD で PHP は Version 4.2.3 です。
なお、データベースは利用者側にあります。
・利用者側サーバ(表示スクリプト、データベース)
・管理者側サーバ(検索スクリプト)

問題なく動いているスクリプトの他の部分も require してみましたが、
mysql_num_rows()、mysql_num_fields()、mysql_free_result():
あたりでエラーが出てしまいます。

投稿日時 - 2004-03-26 18:35:11

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問