Questo è il tipico caso in cui mysql_query restituisce false al fallimento quindi innescando il famigerato:
Ciò può essere causato da molteplici fattori. Prova a eseguire la query in phpMyAdmin o direttamente nel database e vedi l'errore o recupera l'ultimo errore MySQL tramite mysql_error
.
È buona norma controllare sempre se il valore restituito di mysql_query è false o se il mysql_error la stringa non è vuota:
if ($result and empty(mysql_error()))
// everything ok
Nota:non mischiare mai mysql_ e mysqli_ funzioni. Se devi scegliere, sceglierei mysqli da mysql_* le funzioni sono considerate obsolete.