[PHP-users 17088]PostgreSQL関数でのストアドファンクションの戻り値の取得方法

三浦悟 miura @ assign.ne.jp
2003年 7月 31日 (木) 16:59:52 JST


はじめまして三浦と申します。

環境
postgresql 7.3
redhat 8.0
apache 1.3.2.7
php 4.3.2

PostgreSQL関数を使用してPostgreのストアドファンクションの戻り値を取得したい
のですが、現在固定で 100 (integer) を戻すよう、ストアド関数で指定しても、う
まく戻り値を取得できません。



下記に使用したストアドを記載します。

//*********************************************************************

CREATE FUNCTION join_insert (varchar,varchar,varchar,integer) RETURNS
integer AS '

DECLARE

mb ALIAS FOR $1;
pc ALIAS FOR $2;
nn ALIAS FOR $3;
sx ALIAS FOR $4;

BEGIN

insert into user_entry (mobile_mail,pc_mail,name,sex,entry_date)
values(mb,pc,nn,sx,''now'');
RETURN 100;

END;' LANGUAGE 'plpgsql';

//************************************************************************

以下はPHPでのクエリ送信部分です。

 $query="select join_insert(" . $mb . "," .
                                        $pc . "," .
                                        $frm_nickname . "," .
                                         $frm_sex . "," .
                                         8 . ")";


 $rtn=pg_query($con, $query);

 echo "<br>afect= " . pg_affected_rows($rtn);
 echo "<br>result= " . pg_result_status($rtn);
 echo "<br>fetch= " . pg_fetch_result($rtn,0,0);

//************************************************************************

この結果

afect= 0
result= 1
fetch=

が表示されます。
ストアドの戻り値の取得方法をご存知の方がいらっしゃいましたら、ご教授くださ
い。
よろしくお願い申し上げます。


三浦 悟
miura @ assign.ne.jp




PHP-users メーリングリストの案内