Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2009, 13:42
martha_mendoza
 
Fecha de Ingreso: noviembre-2009
Mensajes: 16
Antigüedad: 14 años, 6 meses
Puntos: 0
obtener datos de un store procedure(postgre) desde php

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.