se vuoi evitare di inserire righe nulle, IMMAGINO che ora come ora hai una pagina dove metti i valori come un elenco, prodotto 1, prezzo, quantità ecc.. Immagino che hai tipo 20 righe e capita che ne riempi 10 come 5 come tutte... Giusto?

Se si, quando trovi la prima vuota, non serve che prosegui il ciclo, quindi io farei:

mettendo questa riga prima di mysql_query(..);

if (empty($prezzo) || empty($nome_campo) .....)
break();

Questo dovrebbe buttarti fuori dal ciclo e non ti inserirà righe vuote...

Invece, una soluzione mooooolto più bella e professionale, potrebbe essere quella di mostrare una sola riga all'inizio, con un + in alto. Inserisci la prima riga, e premendo il +, tramite javascript, ti disegna un'altra riga di campi... premo + ancora e me ne compare un'altra... ovviamente generati al volo.. così non avresti limiti per le righe da inserire...
Ma dovrai fare un bel lavoretto in javascript per farlo

Ma fai una cosa per volta