ifx_num_rows and ifx_affected_rows are buggy or documentation is not completed. They returns unexpected results, therefore not reliable. Programmers should not trust those functions. You can simply get the num of affected rows from a select query by walking through the result of the ifx_query.