Hola, estoy comenzando a trabajar postgre y quisiera saber como hago para obtener desde php los datos de un select hecho en un store procedure. El SP me corre bien pero no se como hacer en el momento de imprimir los datos en php.
Este es mi Store Procedure:
Código:
CREATE OR REPLACE FUNCTION getadministradorlogin(character varying)
RETURNS text AS
$BODY$DECLARE
datos administrador%ROWTYPE;
result TEXT;
BEGIN
select into datos id_admin, login_adm, password_adm from administrador where login_adm='$1';
result := datos.id_admin||'|'||datos.login_adm||'|'||datos.password_adm;
RETURN result;
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION getadministradorlogin(character varying) OWNER TO postgres;
y mi codigo PHP:
Código:
$sql="select * from getadministradorlogin('".$login_admin."')";
// conexion a la BD
$con=parent::open();
// se ejecuta el query
$rs=parent::rs($con, $sql);
$total=pg_num_rows($rs);
// verifico en bd
if (pg_num_rows($rs)<=0){
// el usuario no existe
$arr=array();
$arr['error']='loginNO';
} else {
$arr=array();
$arr['idAdmin']=pg_fetch_result($rs,0,'getadministradorlogin');
$arr['login']=pg_fetch_result($rs,0,'getadministradorlogin');
$arr['password']=pg_fetch_result($rs,0,'getadministradorlogin');
if ($arr['password']!=$password){
// password incorrecto
$arr['error']='passwordNO';
} else {
session_start();
$_SESSION[$varGenPLogAdmin]=$login;
$_SESSION[$varGenPIdAdmin]=$arr['idAdmin'];
$arr['error']='OK';
}
}
// se cierra la conexion a la BD
parent::close($con);
return $arr;
Gracias de antemano.