mysql_fetch_array non da' errore se la query é vuota, probabilmente no hai passato il risultato della query. Devi fare qualcosa tipo questo:

codice:
$risultato = mysql_query("SELECT id, nome FROM mia_tabella");

while ($riga = mysql_fetch_array($risultato, MYSQL_NUM)) {
   printf ("ID: %s  Nome: %s", $riga[0], $riga[1]);
}
E se la select é vuota non stampa niente (neanche errore!)