fatti stampare la query prima di farla esegiure...
$sql = "UPDATE `tabella` SET 'Zona' = '$zona' ,
SET 'Descrizione' = '$descrizione' ,
SET 'Tipo' = '$tipo' ,
WHERE 'id' = '$codice'";
echo $sql . "
";
$q= mysql_query($sql) or die ("Query non valida: " . mysql_error());
e posta...