Hola a todos.
Os comento un problema que tengo.
El foco del problema está en la instrucción $id=mysql_insert_id(); Hago esto porque el campo id de la tabla usuarios es autoincremental.
En la primera consulta me realiza la consulta satisfactoriamente.
En la segunda consulta quiero añadir el valor de $id a la tabla log (añadirlo al campo usuario, el cual no es incremental). Pero al poner la variable $id me da error, porque llama al rollback.
Tras hacer unas pruebas el error esta justo ahi (no es ni problema de conexión ni otra causa).
Haber si alguien me puede echar una mano, porque no entiendo que en la primera consulta tome el valor de $id bien y en la segunda no (porque llama al rollback).
Código PHP:
mysql_query('BEGIN');
$id=mysql_insert_id();
$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'));
$sql2= "INSERT INTO log (usuario, evento, ip) VALUES (".$id.",1, '".$_SERVER['REMOTE_ADDR']."')";
mysql_query($sql2,$conexion) or die(mysql_query('rollback'));
mysql_query('COMMIT');
header('Location: form.php');
Saludos.