l'utente inserisce un codice $code

viene verificato l'algoritmo,
- se è ok allora controlla se il codice è già stato utilizzato
* se è stato utilizzato checklog=3
* se non è stato mai utilizzato inserisci il codice nel record con la data di oggi checklog=2
* se non è ok l'algoritmo checklog=1
tutto qui.

ora funge tutto ma se inserisco un codice già utilizzato mi torna sempre checklog=1 perchè?

ecco lo script:
Codice PHP:
include ("connessione.inc.php");
mysql_pconnect($host,$usersql,$pass) or die ("status=Errore di connessione a mysql&checklog=0");
mysql_select_db($database) or die ("status=Errore di connessione al database&checklog=0");
$code $_POST['code']; // variabile che arriva da flash
$win 1;

    if ((
eregi ('^[0-9]{7}[1-8]{1}$'$code)) AND ((int)$code{0}+(int)$code{7}==9)){
    
        
$query "SELECT * FROM $tabella WHERE codice = '$code'"
        
$result mysql_query$query ) or die ("status=Errore nella query!"); 
        
$dati mysql_fetch_array($result);
            if (
$dati['codice'] == '$code') { 
                echo 
"status=CODICE corretto ma utilizzato&checklog=3";
                } else if (
$dati['codice'] != '$code') {
                
$queryins "UPDATE $tabella SET codice ='$code' WHERE data=CURDATE(); ";
                
mysql_query$queryins ) or die ("status=Errore nella query!");
                echo 
"status=CODICE ESATTO-dati inseriti&checklog=1";
                
            }
   } else {
        echo 
"status=CODICE ERRATO&checklog=2";