Ciao, stavo leggendo l' articolo per la gestione delle sessioni a questo indirizzo ma mi è venuto un dubbio su una funzione che ho trovato nei codici sorgente.

La funzione è questa e non fa altro che registrare una sessione utente nel db, restituendo poi l' esito dell' operazione

codice:
function auth_register_session($udata){
    global $_CONFIG;
    
    $uid = auth_generate_uid();
    mysql_query("
    INSERT INTO ".$_CONFIG['table_sessioni']."
    (uid, user_id, creation_date)
    VALUES
    ('".$uid."', '".$udata['id']."', ".time().")
    "
    );
    if(!mysql_insert_id()){
        return array(AUTH_LOGEDD_IN, $uid);
    }else{
        return array(AUTH_FAILED, NULL);
    }
}
domanda 1: non dovrebbere essere if(mysql_insert_id()) per funzionare correttamente?
domanda 2: questo è il contenuto della query di inserimento nel database,
codice:
INSERT INTO sessioni     (uid, user_id, creation_date)     VALUES     ('0b60c83fd077c355a668a0a0da620eed', '1', 1393252604)
ma se la colonna uid e un varchar(), non è possibile utilizzare mysql_insert_id() poichè servirebbe un int e non una stringa.

Qualcuno sa darmi un parere o comunque dirmi se ho sbagliato ragionamento?