Ver Mensaje Individual
  #9 (permalink)  
Antiguo 18/09/2008, 07:24
Avatar de Carxl
Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 7 meses
Puntos: 70
Respuesta: duda en transaccion

Hola WadE87... cómo vas??

Pues mira... es algo propio de las transacciones en mysql... sabes bien que una transacción no es finalizada salvo que tengo el "commit" (confirmación). Es lógico, haces lo siguiente:
Código PHP:
$sql1="INSERT INTO usuarios (id, alias, clave, privilegios, mail, dni, valido, aleatorio) VALUES (".$id.",'".$usuario."','".md5($clave)."', 1, '".$mail."', '".$dni."', 0, ".rand().")";  
mysql_query($sql1,$conexion) or die(mysql_query('rollback'));
$id=mysql_insert_id(); 
Aún no haz confimado la transacción!!! Entonces pues el id que te trae es último confirmado. Me entiendes?? Si haces un commit después de hacer el insert... tenlo por seguro que te arroja el id respectivo.
Código PHP:
$sql1="INSERT INTO usuarios (id, alias, clave, privilegios, mail, dni, valido, aleatorio) VALUES (".$id.",'".$usuario."','".md5($clave)."', 1, '".$mail."', '".$dni."', 0, ".rand().")";  
mysql_query($sql1,$conexion) or die(mysql_query('rollback'));
mysql_query("COMMIT",$conexion);
$id=mysql_insert_id(); 
Es que llamas el mysql_insert_id antes de confirmar Es algo a tener en cuenta ocn las transacciones...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Última edición por Carxl; 18/09/2008 a las 07:29