1) prima di effettuare la mysql_query, scrivi:
echo $sql
potresti scoprire che non e' la query che tu avresti voluto.

2) anziche'
$modifica = mysql_query($sql);
scrivi
$modifica = mysql_query( $sql ) or die( mysql_error() );
in questo modo ti dirà che tipo di errore insorge

3) in ultima istanza confronta la sql stampata a schermo grazie al consiglio 1 con i dati realmente presenti nel database. se non modifica nulla e' perche' la condizione espressa nella where non soddisfa nessuno dei record inseriti