• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PostgreSQLのデータ)

PHPでのデータ処理に関する警告文の回避方法と表示制御について

このQ&Aのポイント
  • PostgreSQLのデータをPHPで処理する際に、データの入っていないテーブルに対して"pg_result"の処理を行うと、「Warning: 0 is not a PostgresSQL result index」という警告文が表示されます。
  • この警告文を回避する方法を探しています。また、警告文を表示させずに処理を続行する方法も知りたいです。
  • 現在の環境はRedhatLinux6.2Jで、apache-1.3.12-0jp1、php-3.0.15_i18n_ja-0vl2、postgresql-7.0.2-2.i386を使用しています。

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

  • ベストアンサー
  • taba
  • ベストアンサー率61% (349/567)
回答No.2

>一つのフィールドのみ空の場合には上記の処理では行数を拾ってしまい >データのないフィールドをpg_resultするとエラーになってしまうのです。 それは変ですね。ひょっとして設定でそういう風にもなるのかもしれません。 ちなみにちょっと調べたところ、エラー表示を抑制するには、関数の前に@をつければいいみたいです>PHP @pg_result という形ですね。試してみてください。

kanpo
質問者

お礼

>ちなみにちょっと調べたところ、エラー表示を抑制するには、関数の前に@をつければいいみたいです>PHP >@pg_result >という形ですね。試してみてください。 すばらしい!そんな方法があったのですね。 早速試させていただきます。 貴重な情報ありがとうございます。

その他の回答 (1)

  • taba
  • ベストアンサー率61% (349/567)
回答No.1

細かい処理が分からないので、はずしていたらごめんなさい。 pg_execした後に、pg_NumRowsでテーブルの件数を確認し、その結果で処理分岐(件数がゼロなら、pg_resultしない)すればいいのではないでしょうか。 前に作った簡単なコードは、それで動いていました。

kanpo
質問者

お礼

レスありがとうございます。 >pg_execした後に、pg_NumRowsでテーブルの件数を確認し、その結果で処理分岐(件数がゼロなら、pg_resultしない)すればいいのではないでしょうか。 そうなんです、テーブルのデータがすべて空なら問題ないのですが 一つのフィールドのみ空の場合には上記の処理では行数を拾ってしまい データのないフィールドをpg_resultするとエラーになってしまうのです。 質問のしかたが分かりずらくすみません。 引き続きご教授お願いいたします。

関連するQ&A