Acessando funções Postgre em PHP

1. Acessando funções Postgre em PHP

Fabi
fabiapo

(usa Outra)

Enviado em 14/05/2009 - 16:24h

Pessoal,

Estou tentando acessar uma function PostgreSQL no PHP mas não estou conseguindo.

Segue meu exemplo:

FUNCTION POSTGRESQL:

CREATE OR REPLACE FUNCTION ffp_login_usuario(log varchar(50), pass varchar(8)) RETURNS void AS
$$
BEGIN;
SELECT A.id_usuario, R.id_perfil FROM usuario_acesso A, perfil_usuario P, perfil_usuario_acesso R
WHERE A.nome_login = R.nome_login AND P.id_perfil=R.id_perfil AND
A.nm_login='log' AND A.sp_senha='pass';
END;
$$
LANGUAGE sql;


Primeira pergunta: Quando coloco as variáveis no WHERE, eu tenho que colocar entre ASPAS SIMPLES? Pois se não faço isso dá erro.

CÓDIGO PHP (FORMULARIO):

$senha=$_POST['senha'];
$cpf=$_POST['cpf'];

try {
$pdo = new PDO($dbconn); // está no include a conexão. Apenas colquei a variavel.
$query = $pdo->prepare('ffp_login_usuario(?, ?);');
$query->bindValue(1, (varchar)($_POST['cpf']));
$query->bindValue(2, (varchar)($_POST['senha']));
if($query->execute() === false)
{
$error = $query->errorInfo();
echo '<font color=\'#ff0000\'>', substr($error[2], 7), '</font>';
}
}
catch(PDOException $pex)
{
echo '<font color=\'#ff0000\'>Ocorreu um erro com a base de dados.</font>';
}

$intContaRetorno = $pdo->rowCount();

if ( $intContaRetorno <> 0)
{header("Location: principal.php");}
else
{echo "<br><br><b><center>Usuário NÃO OK!</center></b>";}
-


Segunda pergunta: Como faço para capturar os dados do meu SELECT no código PHP?

O que há de errado neste código? Pois não mostra nada na minha tela.

Obrigada!


  


2. Re: Acessando funções Postgre em PHP

Júlio Ferreira de Souza Neto
juliofsn

(usa Fedora)

Enviado em 15/05/2009 - 10:58h

"Quando coloco as variáveis no WHERE, eu tenho que colocar entre ASPAS SIMPLES? Pois se não faço isso dá erro."

se você colocar as aspas o postgresql vai procurar pelas strings 'log' e 'pass' e não substituir pelos parâmetros informados, tente iniciar os nomes de parâmetros com @ e veja se dá certo. de resto não achei nada de anormal.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts