Va bene, se mi dici che mysql_result si può usare dopo mysql_close e funziona mi fido. Comunque per quanto riguarda mysql_error, la funzione riporta come risultato una stringa ma non la stampa a video quindi devi fare echo mysql_error(); oppure die(mysql_error());
Poi accedi a phpmyadmin e controlla che quei campi nelle righe interessate siano effettivamente vuoti oppure non riesci solamente a prelevare il valore quando mostri i risultati.
Inoltre se puoi dirmi tutta la struttura della tabella del db con anche i tipi di campi è meglio.