Ver Mensaje Individual
  #11 (permalink)  
Antiguo 15/12/2008, 16:14
Avatar de Carxl
Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: Reconexión Base de Datos

Hola AlexWeb...

Creo que te estás liando sin necesidad

La lógica es sencilla, si hay error, hay un ROLLBACK, si se llevó a cabo satisfactoriamente la consulta, aplicas COMMIT.

Las transacciones tienen tres instrucciones, BEGIN(comienza una transacción), COMMIT(confirma una transacción), ROLLBACK(quiebra, deshace una transacción).

La idea sería:
Código php:
Ver original
  1. //comienza transacción
  2. $ini_tran="BEGIN;";
  3. $result = mysql_query($ini_tran,$enlace);
  4.  
  5. //se ejecuta query
  6. $query="select * from .... bla bla bla"
  7. $result = mysql_query($query,$enlace);
  8. if(!$result)
  9. {
  10. //si hubo error se ejecuta un rollback
  11.     $error = mysql_errno($enlace);
  12. $fin_tran="ROLLBACK;";
  13. $result = mysql_query($fin_tran, $enlace);
  14.     mysql_close($enlace);
  15. }
  16. else
  17. {
  18. //sino, quiere decir que se ejecutó satisfactoriamente, entonces se confirma
  19. $fin_tran="COMMIT;";
  20.  $result = mysql_query($fin_tran, $enlace);
  21. }

Espero lo entiendas...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com