Yo lo hago asi pero no se si con PDO sea la forma corecta:
Código PHP:
Ver original
$db=conectar(); $db2=conectar(); $codigo_modulo=$_POST['codigo_modulo']; try { $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->beginTransaction(); for($i=1; $i<=$ciclo; $i++): if($_POST['chk_selected_usuario'.$i]==1): $sql="select * from sigca_matriculas_mdl where cod_mod='".trim($codigo_modulo)."' and cod_est='".$_POST['id_usuario'.$i]."'"; $query = $db2->query($sql); if($query->rowCount()==0): $row = $query->fetch(PDO::FETCH_BOTH); $db->exec("insert into sigca_matriculas_mdl values ('".$codigo_modulo."', '".$_POST['id_usuario'.$i]."', '".$row[0]."', 'GRUPO1')"); endif; endif; endfor; $db->commit(); }catch (Exception $e) { $db->rollBack(); echo "Error: " . $e->getMessage(); }
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