- ベストアンサー
※ 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を使用しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>一つのフィールドのみ空の場合には上記の処理では行数を拾ってしまい >データのないフィールドをpg_resultするとエラーになってしまうのです。 それは変ですね。ひょっとして設定でそういう風にもなるのかもしれません。 ちなみにちょっと調べたところ、エラー表示を抑制するには、関数の前に@をつければいいみたいです>PHP @pg_result という形ですね。試してみてください。
その他の回答 (1)
- taba
- ベストアンサー率61% (349/567)
回答No.1
細かい処理が分からないので、はずしていたらごめんなさい。 pg_execした後に、pg_NumRowsでテーブルの件数を確認し、その結果で処理分岐(件数がゼロなら、pg_resultしない)すればいいのではないでしょうか。 前に作った簡単なコードは、それで動いていました。
質問者
お礼
レスありがとうございます。 >pg_execした後に、pg_NumRowsでテーブルの件数を確認し、その結果で処理分岐(件数がゼロなら、pg_resultしない)すればいいのではないでしょうか。 そうなんです、テーブルのデータがすべて空なら問題ないのですが 一つのフィールドのみ空の場合には上記の処理では行数を拾ってしまい データのないフィールドをpg_resultするとエラーになってしまうのです。 質問のしかたが分かりずらくすみません。 引き続きご教授お願いいたします。
お礼
>ちなみにちょっと調べたところ、エラー表示を抑制するには、関数の前に@をつければいいみたいです>PHP >@pg_result >という形ですね。試してみてください。 すばらしい!そんな方法があったのですね。 早速試させていただきます。 貴重な情報ありがとうございます。