Ver Mensaje Individual
  #8 (permalink)  
Antiguo 21/03/2016, 17:05
BlackJccl1
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Error al usar PDO - beginTransaction

Muchas Gracias a todos al final pude solucionarlo asi me quedo
Código PHP:
Ver original
  1. public static function registrar_seguimiento($nsp_data,$nsp_data_pv) {
  2.         try {
  3.             $cnBD = Conexion::getConexion();
  4.             $cnBD->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,true);
  5.             $cnBD->beginTransaction();
  6.             $query_registrar = $cnBD->prepare('CALL sp_seguimiento_pap_registrar(?,?,?,?,?,?,?,?,?,?)');
  7.             $query_registrar->bindParam(1,$nsp_data["nsp_usuario"],PDO::PARAM_INT,11);
  8.             $query_registrar->bindParam(2,date("Y-m-d",strtotime($nsp_data["nsp_fecha_requerimiento"])),PDO::PARAM_STR);
  9.             $query_registrar->bindParam(3,date("Y-m-d",strtotime($nsp_data["nsp_fecha_ultimo_contacto"])),PDO::PARAM_STR);
  10.             $query_registrar->bindParam(4,date("Y-m-d",strtotime($nsp_data["nsp_fecha_proximo_contacto"])),PDO::PARAM_STR);
  11.             $query_registrar->bindParam(5,$nsp_data["nsp_contacto"],PDO::PARAM_INT,11);
  12.             $query_registrar->bindParam(6,$nsp_data["nsp_estatus"],PDO::PARAM_INT,11);
  13.             $query_registrar->bindParam(7,$nsp_data["nsp_actividad"],PDO::PARAM_INT,11);
  14.             $query_registrar->bindParam(8,$nsp_data["nsp_referencia"],PDO::PARAM_INT,11);
  15.             $query_registrar->bindParam(9,$nsp_data["nsp_unidad_negocio"],PDO::PARAM_INT,11);
  16.             $query_registrar->bindParam(10,trim($nsp_data["nsp_observaciones"]),PDO::PARAM_STR,500);
  17.             $query_registrar->execute();
  18.             $result = $query_registrar->fetchAll();
  19.             $query_registrar ->closeCursor(); //Cierro el cursor para continuar con el siguiente insert
  20.             if (isset($result[0]["seg_pap_id"])) {
  21.                 $sql = "INSERT INTO seg_pap_servicio(seg_pap_id,jc_servicio_id,seg_pap_programa_id,seg_pap_programa_fecha,seg_pap_valor_venta) VALUES";
  22.                 for ($ni=0;$ni<count($nsp_data_pv);$ni++){
  23.                     $sql.="(".$result[0]["seg_pap_id"].",".$nsp_data_pv[$ni]['nsp_programa'].",".$nsp_data_pv[$ni]['nps_campana_programa'].",".$nsp_data_pv[$ni]['nsp_periodo_programa'].",'".$nsp_data_pv[$ni]['nsp_valor_venta']."'),";
  24.                 }
  25.                 $sql = substr($sql,0,strlen($sql)-1);
  26.                 $smt = $cnBD->prepare($sql);
  27.                 $smt->bindParam(1,$result[0]["seg_pap_id"],PDO::PARAM_INT,11);
  28.                 $smt->bindParam(2,$nsp_data_pv["nsp_programa"],PDO::PARAM_INT,11);
  29.                 $smt->bindParam(3,$nsp_data_pv["nps_campana_programa"],PDO::PARAM_INT,11);
  30.                 $smt->bindParam(4,$nsp_data_pv["nsp_periodo_programa"],PDO::PARAM_INT,11);
  31.                 $smt->bindParam(5,$nsp_data_pv["nsp_valor_venta"],PDO::PARAM_STR);
  32.                 $smt->execute();
  33.             }
  34.             $cnBD->commit();
  35.         } catch (PDOException $e) {
  36.             echo $e->getMessage();
  37.             $cnBD->rollback();
  38.         }
  39.     }
Graciassssssss