Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2013, 10:32
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
consultar dentro de una transaccion con PDO

Hola a todos, estoy usando PDO para raelizar mis inserciones y ahora que estoy usando la transaccion me gustaria saber de que manera puedo realizar una consulta y usar un resultado de esa consulta dentro de la transaccion

Yo lo hago asi pero no se si con PDO sea la forma corecta:

Código PHP:
Ver original
  1. $db=conectar();
  2. $db2=conectar();
  3. $codigo_modulo=$_POST['codigo_modulo'];
  4. try {
  5.  
  6. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  7. $db->beginTransaction();
  8. for($i=1; $i<=$ciclo; $i++):
  9.  if($_POST['chk_selected_usuario'.$i]==1):
  10.    $sql="select * from sigca_matriculas_mdl where cod_mod='".trim($codigo_modulo)."' and cod_est='".$_POST['id_usuario'.$i]."'";
  11.      $query = $db2->query($sql);
  12.       if($query->rowCount()==0):
  13.       $row = $query->fetch(PDO::FETCH_BOTH);
  14.       $db->exec("insert into sigca_matriculas_mdl values ('".$codigo_modulo."', '".$_POST['id_usuario'.$i]."', '".$row[0]."', 'GRUPO1')");
  15.      endif;
  16.   endif;
  17. endfor;
  18. $db->commit();
  19. }catch (Exception $e) {
  20.                      $db->rollBack();
  21.                      echo "Error: " . $e->getMessage();
  22.                    
  23.                }

Si observan dentro del ciclo for hago una consulta y el $row[0] lo uso en la linea del exec ...
Asi esta bien, o hay alguna forma de hacer la consulta dentro del exec ?
Espero me puedan dar una indicación, soy nuevo usando PDO y hasta ahora empiezo a usar el beginTransaction() de PDO, muchas gracias