[PHP-users 4970] Re: バグ?仕様?複数のpostgre 接続リソースを定数にできない?
Yasuo Ohgaki
php-users@php.gr.jp
Fri, 25 Jan 2002 14:04:13 +0900
大垣です。
Y.Watanabe wrote:
> わたなべです。
>
> phpのバグなんだか仕様なんだかわからないことに遭遇してまして、
> みなさんのご意見をきかせてください。
>
*SNIP*
> 問題となるスクリプトは以下のとおり。
> <?php
> define ("DBCONN01",pg_connect("dbname=db01 user=username"));
> define ("DBCONN02",pg_connect("dbname=db02 user=username"));
> pg_exec(DBCONN01,"select * from hogehoge");
> pg_exec(DBCONN02,"select * from fugafuga");
> ?>
んんん。
PHPのdefineはC等の#defineの様なマクロではありません。
>
> ちなみに、
> <?php
> define ("DBCONN01",pg_connect("dbname=db01 user=username"));
> pg_exec("DBCONN01","select * from hogehoge");
> ?>
> のように定数としてのpostgreリソースがひとつしかない場合には
> 正常に作動します。
これが動作する事自体がおかしいです。確認してみます。
(多分、デフォルトコネクションのハンドリングがおかしい為と思います)
ZendEngineの動作もおかしいのでこちらも確認してみます。
>
> しかし、
> <?php
> define ("DBCONN01",pg_connect("dbname=db01 user=username"));
> $dbconn02 = pg_connect("dbname=db02 user=username");
> pg_exec(DBCONN01,"select * from hogehoge");
> pg_exec($dbconn02,"select * from fugafuga");
> ?>
> のように、ふたつの接続リソースの片方を定数として、もう片方を
> 通常の変数とした場合にも、やはりWEBサーバが反応しなくなります。
pg_exec()の第一引数はPostgreSQLのコネクションリソースを必ず
渡してください。
このメールの様にdefineをマクロの様に使ったコードが動くこと自体
がバグです。
PHP-4.1.1で動作確認して問題が発生するようであれば、バグレポート
http://bugs.php.net/
をお願いします。
--
Yasuo Ohgaki
yohgaki@dd.iij4u.or.jp
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/