Buon giorno a tutti, ho un serio problema a parte studiare di più :|
Dopo l'esecuzione dell'insert in TBUTENTI faccio una select per estrapolare l'id_utente dalla stessa tabella per poi inserire questo id_utente nella TBREGISTRAZIONE.
In pratica
1) insert in TBUTENTI
2) Select in TBUTENTI per estrapolare l'id_utente
3) insert in TBREGISTRAZIONE dell'id_utente, per creare subito dopo la mail da inviare all'utente per confermare la registrazione.
Il problema è che, a volte la select è come se non viene eseguita, perchè l'id_utente è uguale a 0(zero).Impossibile perchè avendo appena inserito i dati è stato generato sicuramente l'id_utente, essendo un campo autoincrement per cui non me lo spigo.
Questa è la pagina:
Codice PHP:
$sql = "INSERT INTO TBUTENTI ("
."UserName, Pwd, Cognome, Nome, dRegistrazione, "
." ) VALUES ("
." \"".$TxtUserName."\""
.", \"".$cPassword."\""
.", \"".$txtCognome."\""
.", \"".$txtNome."\""
.", \"".date("Y-m-d G:i:s")."\""
." )";
$rsUser= mysql_query($sql) or die ("Impossibile connettersi!" . mysql_error());
//********SPAZIO PER REGISTRAZIONE*****************//
$hash_generato = md5(session_id()."##".mktime()).md5($cPassword);
$sql1 = "SELECT IdUserEsterno FROM TBUTENTI WHERE UserName=\"".$TxtUserName."\"";
$rsUser2= mysql_query($sql1) or die ("Impossibile connettersi!" . mysql_error());
$row = mysql_fetch_row($rsUser2);
$sql2 = "INSERT INTO TBREGISTRAZIONE ("
."id, hash,id_utente"
." ) VALUES ("
." \"\""
.", \"".$hash_generato."\""
.", \"".$row[0]."\""
." )";
$rsUser2= mysql_query($sql2) or die ("Impossibile eseguire l'insert nella tabella registrazione!" . mysql_error());
$Insert = "1";
}
}
In pratica vorrei che, se l'id_utente indicato da $row[0] è uguale a 0(zero) non mi effettui l'insert rimandando un messaggio a video per l'utente.
Vorrei sapere se è questo il caso dell'utilizzo della Commit trans e/o Rollback.
Se si potreste farmi un'esempio?
Grazie mille...