odbc_num_rows scheint nur für INSERT-, UPDATE- und DELETE-Abfragen zuverlässig zu sein.
Das Handbuch sagt:
Eine Möglichkeit, dieses Verhalten zu umgehen, besteht darin, ein COUNT(*) auszuführen stattdessen in SQL. Siehe hier
für ein Beispiel.