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);
//-------------------------------------------------------------------------
NECESITO LA AYUDA DE TODOS PARA RESOLVER ESTE PROBLEMA.
Este tipo de script puede ser util para mucha gente
Mil gracias