mysql_fetch_row should be used if you're only getting one row back
The number of rows in the result has nothing to do with it. The three main fetch functions differ as follows:
mysql_fetch_object() - columns put into member fields of object
mysql_fetch_array() - columns put into associative array
mysql_fetch_row() - columns put into numerically-indexed array
Neither am I comfortable with the statement "if you're comfortable with objects or arrays". If you're not comfortable with objects and arrays, you're going to be extremely limited in what you can do with PHP, so the right response to that is to get comfortable with them.
Oh, and one final word on mysql_fetch_row(): just because it returns its data as an array, you don't have to use it that way. Who wants to write
$data = mysql_fetch_row( $result );
echo $data[0];
or even:
$data = mysql_fetch_row( $result );
$userid = $data[0];
echo $userid;
The fix for this is to use the list() pseudo-function, like this:
list( $userid, $name, $last_logon) = mysql_fetch_row( $result );
Now you can directly use the named variables.