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

Lo coloque tal como ustedes me sugirieron, pero asi no me ejecuta el SP:

Código:
CREATE OR REPLACE FUNCTION getadministradorlogin(character varying)
  RETURNS SETOF administrador AS
$BODY$
DECLARE
	datos administrador%ROWTYPE;
BEGIN
    FOR datos IN
        select id_admin, login_adm, password_adm 
        from administrador 
        where login_adm=$1
    LOOP
        RETURN NEXT datos;
    END LOOP;
    RETURN;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100
  ROWS 1000;
ALTER FUNCTION getadministradorlogin(character varying) OWNER TO postgres;
En cambio como lo tenia anteriormente si mando a imprimir pg_num_rows($rs)me devuelve 1 fila pero mi problema es que no me imprime los datos. Este es mi codigo de php:

Código:
// query
		$sql="select * from getadministradorlogin('".$login_admin."')";
		
		// conexion a la BD
		$con=parent::open();

		// se ejecuta el query
		$rs=parent::rs($con, $sql);
			
		// verifico en bd
		if (pg_num_rows($rs)<=0){
		    echo '<br>No existen usuarios';
			// el usuario no existe
			$row=array();
			$row['error']='loginNO';
		} else {
		    $row=array();
			while ( $row = pg_fetch_assoc($rs) ) {
                echo $row['id_admin'].'-'.$row['login_adm'].'-'.$row['password_adm'].'<br>';
			}
			if ($row['password_adm']!=$password){
				// password incorrecto
				$row['error']='passwordNO';
			} else {
				session_start();
				$_SESSION[$varGenPLogAdmin]=$login_admin;
				$_SESSION[$varGenPIdAdmin]=$row['id_admin'];
			    $row['error']='OK';
			}
		}
		
		// se cierra la conexion a la BD
		parent::close($con);
		return $row;
Gracias por la ayuda