• ベストアンサー

postgresql関数をつかったレコードの読み込みについて

いつもお世話になっております。 早速ですが、 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

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

  • ベストアンサー
  • noopee
  • ベストアンサー率38% (114/297)
回答No.1

こんにちは。 >Warning: Unable to jump to row 1 on PostgreSQL result index 2 このエラーは存在しない行を取り出そうとしたときによく出るメッセージのようです。 >フィールド情報は取得しているようなのですが どんな結果が返ってきてそう思われたのでしょうか? SQL文と引数を全部表示させてみて、SQLが直接実行できるかどうか確かめてみてください。

fichi
質問者

補足

早速のアドバイスありがとうございます。 >どんな結果が返ってきてそう思われたのでしょうか? 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に格納したレコードのみを 表示させるにはどのようにすれば良いのでしょうか? 追加質問のようで大変申し訳有りません

その他の回答 (1)

  • duckling
  • ベストアンサー率47% (88/185)
回答No.2

$namedata=pg_fetch_array($result,$i) ↑この行為で DBから返って来た情報、$result,$i の行を 配列に格納してあるので その連想配列になっている情報の key を array_keys でゲットして出力したらOKです。(私はその方法でゲットしてます。) 下のURLが参考になると思います。

参考URL:
http://search.net-newbie.com/php/function.array-keys.html
fichi
質問者

お礼

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

関連するQ&A