[eluser]TheFuzzy0ne[/eluser]
result_array() returns an array of results, row returns an object representing the first row of the result set.
Generally speaking, for consistency you should use row_array() and result_array(), or row() and result().
Use row() or row_array() when you're expecting a single result, and result() or result_array() when you're expecting more than a single row. Generally, if you're expecting a single result row, you will add a LIMIT clause to your query, so the query only returns a single row.