Remove use of db_num_rows for select queries which return data

i.e. db_fetch_array is also called following the call of db_num_rows
It would be useful to update database_api to explain the expected results for db_fetch_array() and db_result() in cases where there is no data.  The current documentation is 'array Database result'.

Like db_result() returns false in case of result being empty vs. a value otherwise.  db_fetch_array() return false if empty vs. array for one row otherwise.

If the above assumptions are true, it may be good to check !== false, but that is just a minor suggestion.  > 0 should work fine as well.