Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2006, 23:21
sofway
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Busqueda Transacciones utilizando 2 DB

Señores:
Recurro a ustedes despues de partirme la cabeza durante horas sin encontrar solución. Este es mi problema:

Necesito hacer un insert en una base de datos; si fué exitoso, necesito hacer otro insert en otra base de datos, por lo cual deberia utilizar transacciones, pero no me funciona. Adjunto la manera en que lo estoy haciendo:

Código PHP:
//-------------------------------------------------------------------------
// me conecto a la db1
$db_link1 mysql_connect("localhost","root","");
mysql_select_db("db_1",$dbl_link1);

// ahora me conecto a la db2
$db_link2 mysql_connect("localhost","root","");
mysql_select_db("db_2",$db_link2);

// ahora hago el query en la db_1 poniéndolo dentro de una transaccion, y la //cierro cuando tambien haya hecho el query del db2


// query db_1
mysql_query("BEGIN",$db_link1);
mysql_query("INSERT INTO clientes (nombre,apellido) VALUES ('Fulano','Jaramillo')",$db_link1);


//ahora hago el query para el db_2 dentro de su respectiva transacción
mysql_query("BEGIN",$db_link2);
$x mysql_query("INSERT INTO clientes (nombre,apellido) VALUES ('Fulano','Jaramillo')",$db_link2);

// si ocurre un error en el query, paro el script osea que no se hace el commit,  
// por lo tanto no se puede hacer ni el query 1 ni el dos
if(!x){
 exit();
}

mysql_query("COMMIT",$db_link1);
mysql_query("COMMIT",$db_link2);
//------------------------------------------------------------------------- 
Cuando pongo algun error de sintaxis en el query dos, se supone que el query uno no se realiza --> PERO SI SE ESTÁ REALIZANDO¡¡¡¡¡¡

NECESITO LA AYUDA DE TODOS PARA RESOLVER ESTE PROBLEMA.
Este tipo de script puede ser util para mucha gente

Mil gracias
__________________
Desdichado quien duerme en la mañana