家・車以外で、人生で一番奮発した買い物

いつもお世話になっております。
早速ですが、
pg_fetch_array(result,i,PGSQL_BOTH)
という関数でレコードのフィールドを配列で取得したいのですが、以下のようなエラーが出てしまいます。

Warning: Unable to jump to row 1 on PostgreSQL result index 2 in

しかし、フィールド情報は取得しているようなのですが、何がいけないといわれているのでしょう?
また、取得した配列はキーが連想配列になっていて、添字ではアクセスできません。オプション「PGSQL_NUM」も試してみましたが、ダメでした。

何をどのように調べたら良いか立ちつくしております。
どなたか、アドバイスを頂けないでしょうか

php 4.06
postgresql 7.2

A 回答 (2件)

こんにちは。



>Warning: Unable to jump to row 1 on PostgreSQL result index 2
このエラーは存在しない行を取り出そうとしたときによく出るメッセージのようです。

>フィールド情報は取得しているようなのですが
どんな結果が返ってきてそう思われたのでしょうか?
SQL文と引数を全部表示させてみて、SQLが直接実行できるかどうか確かめてみてください。

この回答への補足

早速のアドバイスありがとうございます。

>どんな結果が返ってきてそう思われたのでしょうか?
SQL文と引数を全部表示させてみて、SQLが直接実行できるかどうか確かめてみてください。
$result=exec($dbconnect,"select NAME from TABLE where name='YOURNAME'");

$i=0;
while($namedata=pg_fetch_array($result,$i)){
print $namedata[NAME];
}

上記のスクリプトを表示させるとYORNAMEが表示されます。

where で条件をつけて$resultに格納したレコードのみを
表示させるにはどのようにすれば良いのでしょうか?
追加質問のようで大変申し訳有りません

補足日時:2002/07/12 16:05
    • good
    • 0

$namedata=pg_fetch_array($result,$i)



↑この行為で DBから返って来た情報、$result,$i の行を
配列に格納してあるので

その連想配列になっている情報の key を
array_keys でゲットして出力したらOKです。(私はその方法でゲットしてます。)

下のURLが参考になると思います。

参考URL:http://search.net-newbie.com/php/function.array- …
    • good
    • 0
この回答へのお礼

参考URLありがとうございました
大変参考になりました。
初めてのpostgresでつまずくことが多いですが
一つずつ自分の技術にしていきたいと思います
ありがとうございました

お礼日時:2002/07/23 09:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報