proverei con un UPDATE direttamente...

UPDATE tabella SET codice ='$cod'
WHERE data=CURDATE()
AND controllo = 1;


Supponendo che la data sia in formato DATE cioe' yyyy-mm-dd
Questo e' uno dei motivi del perche' conviene usare il formato date come previsto da myswl.