This really depends on how many rows are in your database and what your requirements are.
If there are only few hundred or maybe 5,000 rows in the database, then adding
order by rand() limit 1 is ok.
As your dataset grows, order by rand() becomes progressively slower and unusable. At that point you've got to switch to something else. Generally pre-randomizing either the data in the table, or making a join table with randomized numbers to pick your entries from.
but for smaller datasets, just stick to order by rand() limit 1