La respuesta anterior de Jeremy Ruten es buena y se ejecuta rápidamente; por otro lado, solo te da el número de filas y nada más (si quieres los datos del resultado, tienes que volver a consultar la base de datos). Lo que uso:
// only ask for the columns that interest you (SELECT * can slow down the query)
$query = "SELECT some_column, some_other_column, yet_another_column FROM `table`";
$results = mysql_query($query, $connection);
$numResults = mysql_num_rows($results);
if ($numResults > 0) {
// there are some results, retrieve them normally (e.g. with mysql_fetch_assoc())
} else {
// no data from query, react accordingly
}