Foros del Web » Programando para Internet » PHP »

Orientacion con el uso de transacciones

Estas en el tema de Orientacion con el uso de transacciones en el foro de PHP en Foros del Web. Estimado pueden orientarme, como uso transacciones desde PHP con mysql 4.0 estube leyendo y dice que las tablas deben ser del tipo innodb, esto esta ...
  #1 (permalink)  
Antiguo 06/09/2007, 16:17
 
Fecha de Ingreso: abril-2001
Mensajes: 293
Antigüedad: 23 años, 7 meses
Puntos: 0
Orientacion con el uso de transacciones

Estimado pueden orientarme, como uso transacciones desde PHP con mysql 4.0


estube leyendo y dice que las tablas deben ser del tipo innodb, esto esta ok,
hay que usar SET AUTOCOMMIT=0
START TRANSACTION;
..
..
..
COMMIT;


el tema es que desde php como hago aun no lo he probado pero me gustaria que me pudiesen orientar, creo que deberia ser algo como esto:

<?php
$enlace = Conectarse($Host,$Usuario,$Clave,$BD);
$query = "SET AUTOCOMMIT=0;"
$query.= "STAR TRANSACTION;"
$query.= "DELETE FROM tabla1 WHERE id=10;"
$query.= "DELETE FROM tabla1 WHERE id=10;"
$query.= "INSERT TABLA....;"
$query.= "COMMIT;"

$consulta = mysql_query($query,$enlace);
if ($consulta== 0) mensaje("ERROR ".mysql_errno().": ".mysql_error());

?>

ahora el tema es si hay un error como hago el rollback como puedo saber si hay un error, es decir en sql-server se pone if @@error ... rolback o commit pero aqui como lo tendria que hacer desde php??


de antemano muchas gracias!!!

  #2 (permalink)  
Antiguo 06/09/2007, 20:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Orientacion con el uso de transacciones

Mas bien tienes que hacer un Query por cada comando:
Código PHP:
mysql_query("SET AUTOCOMMIT=0"$enlace);
mysql_query("START TRANSACTION"$enlace);
// mas querys
$result mysql_query"DELETE FROM tabla1 WHERE id=10" );
if( !
$result ) {
      
mysql_query"ROLLBACK" );
}

$result mysql_query"DELETE FROM tabla2 WHERE id=10" );
if( !
$result ) {
      
mysql_query"ROLLBACK" );
}

mysql_query"COMMIT" ); 
Saludos.
  #3 (permalink)  
Antiguo 07/09/2007, 07:16
 
Fecha de Ingreso: abril-2001
Mensajes: 293
Antigüedad: 23 años, 7 meses
Puntos: 0
Re: Orientacion con el uso de transacciones

Ok, gracias por la respuesta.

lo probare y te cuento.!!!
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 12:51.