Codice PHP:
// libero la memoria di PHP occupata dai record estratti con la SELECT
mysql_free_result($result);

// chiudo la connessione a MySQL
mysql_close();

perche' chiudi la connessione???

Non ho letto tutto lo script... ma al volo mi ha colpito la chiusura e poi la query senza riaprirla. Potrebbero esserce altri errori o incongruenze da valutare dopo aver risolto questa.

Sarebbe meglio se gentilmente racchiudessi il codice tra tag [ php] o [ code] per renderlo piu' leggibile....