【PHP】【PostgreSQL】pg_num_row() で行数が0にならない

凡ミスで1時間程ハマった。

pg_num_row()は結果の行数を返すメソッド。
今回使ったSQLは以下。

select count(*) from tb_test;

単純に count() を使ったSQLなんだけど、
これではダメなことに気づかなかった。

count() は結果がなくても「0」という結果を返すので、
pg_num_row() の結果は1になる。
1行データあるもんね・・・。

count() が 0 なのに、なぜpg_num_row() は 1 になっているんだ????

なんて思っていました。
これで1時間をムダにしたのは厳しい。