Ho una tabella che vorrei aggiornare, però mi accade che quando modifico alcuni campi poi questi non vengono aggiornati mentre altri si, posto il codice della pagina:

codice:
include("config.php");
include("errore.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.php");

mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");


 $cod_prod=$_POST['cod_prod'];
 $marca= $_POST['marca'];
 $descr= $_POST['descr'];
 $qta= $_POST['qta'];
 $costo_un= $_POST['costo_un'];
 $costo_tot= $_POST['costo_tot'];

 echo $cod_prod;
 echo $marca;
 echo $descr;
 echo $qta;
 echo $costo_un;
 echo $costo_tot;

$query = "update magazzino set cod_prod= '$cod_prod', marca= '$marca', descr= '$descr',
 qta='$qta', costo_un='$costo_un', costo_tot='$costo_tot'
where  cod_prod = '$cod_prod'";

 
if (mysql_query($query, $db))
echo "L'articolo è stato aggiornato correttamente";
else
echo (errore_sql());
mysql_close($db);


 ?>

Ho verificato che i campi valorizzati dall'array $_POST sono corretti, cioé sono modificati rispetto all'originale. Non capisco come mai poi non risultano aggiornati nella tabella.
Ad esempio il cod_prod non riesco a updatarlo, che fare?