pg-affected-rows () only runs on the LAST SQL STATEMENT executed. If you compound several statements together then pg_affected_rows might not return what you expect. For example:<?php$result = pg_query ('BEGIN; INSERT INTO foo (bar) VALUES (\'baz\'; COMMIT');echo (pg_affected_rows ($result));?>will cause 0 to be printed, because the last statement executed by Postgres was COMMIT, which doesn't affect any rows. I haven't tried this so am not certain it works, but you SHOULD be able to get the row counts you want if you split your queries up. For example: <?php$result = pg_query ('BEGIN; INSERT INTO foo (bar) VALUES (\'baz\';');echo (pg_affected_rows ($result));pg_query ('COMMIT;');?>should allow you to get the number of rows affected by the previous query. I haven't tried this yet though, so don't count on it.