[PHP-users 7134] Re: まとめて処理

Tatsuro Nakagawa php-users@php.gr.jp
Wed, 24 Apr 2002 23:03:43 +0900


中川@magicです。


-->> Reply shojun kimura <k_shojun@yahoo.co.jp> <<--

> すいません、そんな意図でメールを書いたわけじゃないです。

いや、それはわかっています。
ただ、アプリケーションレベルのバグはMLで流れてるのはどうかということです。
今回の件にしてもそうなんですが、もう少し頭から全部見直すことが重要だと思いま
す。


「こういうアプリケーションエラーが出てます。なにが悪いのかわかりません。」は
「デバグしてください」の部類に入ってしまうのです。

見たところ、木村様はどうやらデバグに慣れていらっしゃらないようですね。
ならば、「アプリケーションエラーが連発するんですが、プログラミング初心者なん
でデバグの際に注意するべきことはなんでしょう?」とかにしてみたらまだMLにも役
に立つ情報になると思います。
実際、デバグではまると辛いのはよくわかりますし。



ちなみに、今回の答えですが、一番上のforループでpg_numrows($r)を条件として使っ
ていますよね?
その$rというのは直前のSQLのResultなのですが、ループの中でそのResult($r)をほ
かのSQLのResultで置き換えてしまっています。
だから、ループがぐちゃぐちゃになります。
定番のやり方としては、ループの条件の中でpg_numrows($r)みたいに、毎回関数を走
らせるのではなく、その直前で$cnt_oya_loop=pg_numrows($r)と言う風に変数に入れ
て、それを条件にします。

このあとどう直すのかは自分の力でがんばってください。

--
Tatsuro Nakagawa