Tema: Error PDO
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2016, 15:25
BlackJccl1
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 1 mes
Puntos: 2
Error PDO

Hola ha todos como estan veran tengo un problema al realizar una insercion en una tabla que esta dentro de una transaccion aqui mi codigo
Código PHP:
Ver original
  1. public static function registrar_metas($nm_cabecera_data,$nm_detalle_data_do,$nm_detalle_data_cg) {
  2.         try {
  3.             $cnBD = Conexion::getConexion();
  4.             $cnBD->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,true);
  5.             $cnBD->beginTransaction();
  6.             $query_metas = $cnBD->prepare("INSERT INTO metas(jc_usuario_id)VALUES (?);SELECT LAST_INSERT_ID()meta_id");
  7.             $query_metas->bindParam(1,$nm_cabecera_data["nm_usuario"],PDO::PARAM_INT);
  8.             $query_metas->execute();
  9.             $result = $query_metas->fetchAll(PDO::FETCH_ASSOC);
  10.             $query_metas->closeCursor();
  11.             if (isset($result["meta_id"])) {
  12.                 $sql ="INSERT INTO metas_detalles(jc_metas_id,jc_unidad_negocio_id,jc_metas_fecha,jc_metas_monto)VALUES ";
  13.                 if($nm_cabecera_data["nm_unid_do"] == 1){
  14.                     for($ni;$ni<count($nm_detalle_data_do);$ni++){
  15.                         $sql.= "(".$result["meta_id"].",".$nm_cabecera_data["nm_unid_do"].",'".$nm_detalle_data_do[$ni]['nm_fecha']."','".$nm_detalle_data_do[$ni]['nm_monto']."'),";
  16.                     }
  17.                 }elseif($nm_cabecera_data["nm_unid_cg"] == 5){
  18.                     for($n;$n<count($nm_detalle_data_cg);$n++){
  19.                         $sql.= "(".$result["meta_id"].",".$nm_cabecera_data["nm_unid_cg"].",'".$nm_detalle_data_cg[$n]['nm_fecha']."','".$nm_detalle_data_cg[$n]['nm_monto']."'),";
  20.                     }
  21.                 }
  22.                 $sql = substr($sql,0,strlen($sql)-1);
  23.                 $smt = $cnBD->prepare($sql);
  24.                 $smt->execute();
  25.             }
  26.             $cnBD->commit();
  27.         } catch (PDOException $e) {
  28.             echo $e->getMessage();
  29.             $cnBD->rollback();
  30.         }
  31.     }
  32. }
cuando lo ejecuto me sale este erro
Código PHP:
Ver original
  1. SQLSTATE[HY000]: General error
no se en que parte estoy mal ayudaaaa por favorrr