Ecco il modo corretto di fare le cose:
<?PHP
$sql = 'some query...';
$result = mysql_query($q);
if (! $result){
throw new My_Db_Exception('Database error: ' . mysql_error());
}
while($row = mysql_fetch_assoc($result)){
//handle rows.
}
Nota il controllo su (! $result) -- se il tuo $result è un valore booleano, è sicuramente falso e significa che si è verificato un errore nel database, il che significa che la tua query era probabilmente errata.