Off the top of my head, I would imagine that your result is stored in an array (I am thinking one of the mysql_fetch_* functions here) and based on which result you want you can then reference the index/indices of the rows you need.
I have never seen a retrieval written your way (I am not saying it is wrong. I am just saying I have not seen it written your way) so please allow me to write it the way I probably would:
<?php
$result = mysql_query("SELECT * FROM books, authors WHERE books.author_id=authors.authors_id");
if (!$result) {
echo 'Could not execute! ';
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; //the first row of the result, e.g. email
echo $row[2]; //the second row of the result, e.g. name
echo $row[6];
echo $row[n]; //to nth row of result
?>
Then to get multiple records, you do the same thing, but in a loop (this may be where mysql_fetch_array comes in). One thing I like to do is insert an "echo" after each line I want executed and then add an "exit" after each step (declare query, exit. get results, exit. etc).
Again, this is off the top of my head. I haven't ran this code so there is no guarantee that this will work, but hopefully you get my point.
I hope this helps.