With the mysql library, fetch_* is the only way to pull data out (well, and mysql_result as well, but that's slow as sludge compared to *every* other type). You're options are array, row, assoc, and object for the fetch types. Using mysql_fetch_row (or mysql_fetch_array with MYSQL_NUM or MYSQL_BOTH) will give you a numerically indexed array for your records. The offsets correspond to the order of the selected fields. Assoc (or array with MYSQL_ASSOC) can also be used to give the field => value map.
However, you should look towards the use of mysqli since mysql library is now deprecated and will be removed. Since this has variable input data, than prepared statements would be warranted in which case you would use a bind_result on a statement to populate variables on request (technically you can also pull the mysqli_result from a prepared statement call, but that's just more work).
This has me mighty concerned though:
SELECT atitle,artist FROM A$year WHERE id = $number
This combined with your previous population of $year indicates you have replicated databases with *different* names and the same structure. That would be a management burden; you should normalize the recordsets and have a single table that tracks its year.