Foros del Web » Programando para Internet » PHP »

Transacciones Ayuda!!!!

Estas en el tema de Transacciones Ayuda!!!! en el foro de PHP en Foros del Web. hola gente soy nuevo en este foro asi que saludo por primera vez ; para pedir algo de ayuda con um problema que tengo con ...
  #1 (permalink)  
Antiguo 20/03/2007, 13:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 2
Antigüedad: 17 años, 1 mes
Puntos: 0
Transacciones Ayuda!!!!

hola gente soy nuevo en este foro asi que saludo por primera vez ; para pedir algo de ayuda con um problema que tengo con las transacciones con mysql
estoy haciendo un php y no me funciona el rollback ..les paso un poco el codigo a ver si ustedes me pueden dar una manito

mysql_query("START TRANSACTION"); ya probe con BEGIN Y TAMPOCO ANDA
ACA TENGO MIS INSERT QUE SON UN MOTON DENTRO DE LA FUNCION y POR CADA UNO DE ELLOS TENGO EL IF QUE SE VE A CONTINUACION DONDE ME DICE SI LO PUDO INSERTAR O NO
mysql_query("INSERT.....)

$idDepPadre = mysql_insert_id();
if(!$idDepPadre){
$mal=1;
}


LUEGO YO ESTOY HACIENDO ESTO

if ($mal == 1){

mysql_query("ROLLBACK");
echo "mal";
}else{
//mysql_query("COMMIT");

}
POR PANTALLA ME APARECE EL ECHO PERO NO ME HACE EL ROLLBACK .. LA SINTAXIS ESTA BIEN , PUEDE SER ALGO CON RESPECTO A ALGO CON LAS TRANSACCIONES SEGURAS NO LO SE ...
  #2 (permalink)  
Antiguo 20/03/2007, 15:05
Avatar de yournightmare86  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 875
Antigüedad: 18 años
Puntos: 9
Re: Transacciones Ayuda!!!!

Pues mira, con que cada insert lo vayas contralando de ésta manera debería valer:
Código:
mysql_query("START TRANSACTION");
if(!($insert1=mysql_query("INSERT.....,$id_conexion_bd))) 
{
 echo "Error";
 mysql_query("ROLLBACK");
 exit;
}
así hasta que hagas todos los insert, y después del último(querrá decir que si llega todo se ha hecho correctamente) pones...
Código:
 echo "Transacción correcta";
mysql_query("COMMIT");
Saludos.
  #3 (permalink)  
Antiguo 21/03/2007, 07:51
 
Fecha de Ingreso: marzo-2007
Mensajes: 2
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Transacciones Ayuda!!!!

gracias igual yo lo estoy haciendo de una manera parecida a la que vos me decis ...pero no funciona ....y si aunque yo le ponga una condicion con if o se la saque lo que no me anda es el ROLLBACK ya que poniendoselo de " vivo" debajo del insert me hace la transaccion igual el problema esta por ahi y no en las condiciones que le ponga... mi pregunta seria ...tendre algun problema con el servidor o mi version de mysql (la mia es la 4 no se que ) pero segun lo que lei las transacciones andan de la 3 y pico en adelante ...asi que por ahi no debe ser el problema ....la verdad que la necesito la transaccion de manera urgente y vi que se podia hacerle un LOCK a las tablas que quiero hacer el insert ..pero eso tampoco me sirve ya que necesito que me haga el ROLLBACK si o si ...bueno si tienen alguna idea o sugerencia muchas gracias
  #4 (permalink)  
Antiguo 21/03/2007, 15:56
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Transacciones Ayuda!!!!

Movido desde BD a PHP.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:38.