PHP - Consulta Procedimiento Almacenado con PHP.

   
Vista:
Imágen de perfil de Nicolás Ignacio

Consulta Procedimiento Almacenado con PHP.

Publicado por Nicolás Ignacio (16 intervenciones) el 23/06/2015 22:26:34
Estimados! Antes que nada los saludo!

Tengo un Procedimiento Almacenado sencillo ya funcionando bien, este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
DELIMITER $$
 
CREATE  PROCEDURE `sp_insert_headerddjjpadron`(
in codArchivo_ varchar(100),
in tiporegHeader_ varchar(45),
in codregHeader_ varchar(45),
in indprocHeader_ varchar(45),
in fecprocHeader_ varchar(45),
in auditoriaUsuario_ varchar(100)
)
BEGIN
declare error int;
start transaction;
if(exists(select * from headerDdjjPadron WHERE fecprocHeader = fecprocHeader_ )) then
select 'El Periodo que desea procesar ya existe en la Base de Datos';
else insert into headerDdjjPadron values (
null,
codArchivo_,
tiporegHeader_,
codregHeader_,
indprocHeader_,
fecprocHeader_,
null,
auditoriaUsuario_,
now(),
null
);
end if;
set error = (select @error);
if (error > 0) then
rollback;
else
commit;
end if;
END

Lo estoy llamando mediante PDO de la siguiente manera en un método:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public function proccessHeaderPadronEmpresas($r, $c){
 
        $this->codigoarchivo = $c;
        $this->user = "usuariodeprueba";
 
        $this->data = [
            'codarchivo' => $this->codigoarchivo,
            'tiporeg' => substr($r, 0, 2),
            'codreg' => substr($r, 2, 8),
            'indproc' => substr($r, 10, 11),
            'fecproc' => str_replace("-", "", substr($r, 23, 10))
        ];
 
        //Inserto con Procedimiento Almacenado.
        $this->gbh = new ConDB();
 
        try {
 
        $this->gsent = $this->gbh->prepare("CALL sp_insert_headerddjjpadron(?,?,?,?,?,?)");
        $this->gsent->bindValue(1, "DDJJ-PADRON", PDO::PARAM_STR);
        $this->gsent->bindValue(2, $this->data['tiporeg'], PDO::PARAM_STR);
        $this->gsent->bindValue(3, $this->data['codreg'], PDO::PARAM_STR);
        $this->gsent->bindValue(4, $this->data['indproc'], PDO::PARAM_STR);
        $this->gsent->bindValue(5, $this->data['fecproc'], PDO::PARAM_STR);
        $this->gsent->bindValue(6, $this->user, PDO::PARAM_STR);
        $this->gsent->execute();
 
        } catch(PDOExecption $e) {
            print "Error!: " . $e->getMessage() . "</br>";
        }
 
    }

Lo que quiero saber es cómo puedo mostrar el mensaje que me lanza el procedimiento en la validación en el SELECT, o de qué manera puedo mostrar que la transacción se realizó correctamente. Esto se procesa y luego va a un archivo que funciona como vista.

Desde ya muchas gracias y saludos nuevamente!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder