[PHP-users 9117] DBの結果が二回目以降参照できない現象について
hiro
php-users@php.gr.jp
Mon, 5 Aug 2002 15:41:11 +0900
hiroです。
タイトルにも有りますとおり
DBの結果が二回目以降参照できない現象について
皆様のお知恵を拝借いたしくこちらに、投稿いたします。
現象は
A.php ファイル
function Select{
DBに接続して、Selectの結果を取得。
$DBresult とします
function A{
ここで
B.php ファイルの function Bの引数に渡します
function B( $DBresult );
}
}
B.php ファイル
function B( $DBresult ) {
この$DBresultをさらにこのページのこの関数外の関数に渡します。
(この関数内で使用する前にです。)
つまり、B.php ファイルのfunction C に引数として渡します。
function Cの結果 = function C( $DBresult );
while( $rows = $DBresult->fetchRow() ) {
print_r($rows);
exit;
とすると、表示が何もされなくなってしまいます。
}
}
function C( DBresult ) {
while( $rows = $DBresult->fetchRow() ) {
#rows を使って何か処理を行います。
このとき、$rows は参照しているだけです。
もちろん DBresultもです
}
}
と、上記のような感じで処理を書いていたのですが
どうも、DBの結果をfetchRowもしくはfetchIntoした後に
もういちどどちらかを使用とすると
参照が出来なくなってしまうようなのですが
これにはなにか私の落ち度あるのでしょうか?
それとも、そういう使用なのでしょうか?
現在これは、ご覧のとおり
pearを使用しております。
DBはPostgre7.2.1 phpは4.2.2です。
この現象についてご存知の方。
アドバイス、お叱り何でも結構ですので
宜しくお願いいたします。