Ver Mensaje Individual
  #8 (permalink)  
Antiguo 29/07/2011, 13:27
Avatar de jotaincubus
jotaincubus
 
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 7 meses
Puntos: 394
Respuesta: Duda PDO y ROLLBACK

Acabo de realizar la siguiente prueba...

Código PHP:
Ver original
  1. <?php
  2. require_once 'include/cls.trans.DB.php'; // invoco la pagina que conecta a la base de datos
  3. $conexion = DB::getInstance(); //obtengo una instancia de la conexion
  4.  
  5. try{
  6.     $conexion->comenzartransaccion();
  7.    
  8.     // insert que no provoca error
  9.     $array = array(2, 'Probando', 1);
  10.     $conexion->prepararInsersiones("INSERT INTO tbl_ciudad (id_dpto, ciudad_nombre, ciudad_estado) VALUES (?, ?, ?)");
  11.     $conexion->ejecutar($array);
  12.    
  13.     // provocar error
  14.     $array2 = array('sapo', 'Otro', 1);
  15.     $conexion->prepararInsersiones("INSERT INTO tbl_ciudad (id_dpto, ciudad_nombre, ciudad_estado) VALUES (?, ?, ?)");
  16.     $conexion->ejecutar($array2);
  17.  
  18.    
  19.     $conexion->commiter();
  20.    
  21.     echo "Todo bien...!";
  22.    
  23. }catch(PDOException $e){
  24.     print_r($e);
  25.     //$conexion->rollback();
  26.    
  27. }
  28. ?>

Como pueden ver el primero esta bien, el segundo NO PORQUE EL PRIMER CAMPO ES INTEGER y le puse 'sapo', y déjenme decirles que NO INSERTO EL PRIMERO TAMPOCO, pero si comento el segundo INSERT si me inserta el primero... entonces mira que si una no se cumple NO HACE NADA DEL BLOQUE TRY.

Error generado:
Incorrect integer value: 'sapo' for column 'id_dpto' at row 1
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 29/07/2011 a las 13:28 Razón: Mas informacion