Actually I found a nifty way to get a random row from the database using only MySQL whilst hunting for a similar problem
Here is the code for the newbies
Say you have a table named people with name and age. You want a random name to pop up.
SQL should be
Select name, (age*0+RAND()) as random_col FROM people ORDER BY random_col
if you want to have just one come out add
LIMIT 0,1
Understanding to learn
trick is the MYSQL optimiser works to strip out ORDER BY if you dont refference the RAND() to some part of the table you wish to order. Simply having select name, rand() order by rand() wont work, but effectively times it by 0 (the age*0 part above) and MYSQL loves it.
this is really simple and will give you one or many randomly sorted rows, enjoy it!.