mysql_num_row(), se ben ricordo, restituisce il numero complessivo dei records che rispondono alla query (0, 1 oppure n) , non i valori. quindi non puoi verificare se in quel numero intero c'è un null.
l'impostazine del codice dovrebbe essere rivista...