Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

adrianrb

Problema com resource e PostgreSQL

Recommended Posts

Bom dia galera!Seguinte, estou apanhando com um script de conexão muito básicoao postgresql (abaixo). O bd conecta, a query TEM resultset, masnão há resource.vejam meus scripts:+++++++++++++++++++conexao.php========<? global $bd_con; $con_string = "host=localhost port=5432 dbname=login user=postgres password=postgres"; $bd_con = pg_connect($con_string); print "bd_con=" . $bd_con . "<br>"; if (!$bd_con) { die("Erro ao conectar ao BD..."); }?>util.php=====<?global $res;//print $_SERVER["SCRIPT_FILENAME"];require_once("conexao.php");function VerificaAcesso($usr, $senh){ // Este usuário/senha valida ok no postgres $usr = "teste"; $senh = "teste"; $sql = "select id from login where login_usr = '" . $usr . "' and senha_usr = '" . md5($senh) . "'"; print "sql=" . $sql . "<br>"; $res = pg_query($bd_con, $sql); // ##### Erro aqui: não é gerado o resource (não imprime nada) print "res=" . $res . "<br>"; if (!$res) die("Erro ao acessar BD."); if (pg_num_rows($res) <= 0) { die("Usuário/senha inválidos ou sem acesso."); }}?>+++++++++++++++++++Saída do browser:bd_con=Resource id #4sql=select id from login where login_usr = 'teste' and senha_usr = '698dc19d489c4e4db73e28a713eab07b'Warning: pg_query(): supplied argument is not a valid PostgreSQL link resource in C:\xamp\xampp\htdocs\login\util.php on line 15res=Erro ao acessar BD.+++++++++++++++++++Alguém pode me dizer o q há de errado? Como podem ver,o bd conectou ok...Adrian

Compartilhar este post


Link para o post
Compartilhar em outros sites

o código parece estar correto, verifica se os parametros de conexao do bd estao certos. Esse erro costuma acontecer quando o nome do banco é passado errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vo te dar algumas dicas$con_string = "host=localhost port=5432 dbname=login user=postgres password=postgres";Voce pode usar or die desse jeito( apenas para otimizar o código ) $bd_con = pg_connect($con_string) or die("Erro ao conectar ao BD..."); print "bd_con=" . $bd_con . "<br>"; você pode usar pg_query ou pg_exec para executar suas querys tenho a impressão que alguns comandos do posgres no php escrevem se assim( pelo menos nas versões que eu trabalhava ) pg_numrows() ao inves de pg_num_rows() pg_numfields() -||- pg_num_fields(); existem outros comandos que são dessa forma( não sei porque ).Outro detalhe se você quer acessar uma variável externa dentro de uma funçãovocê tem 3 opçõespassa-la como parametrodeclara-lá como global $nomevariavel ( DENTRO DA FUNÇÃO )ou acessa-la assim $_GLOBAL["nomevariavel"] ( acho que é isso ).Dá uma otimizada no seu código ele está meio confuso.beleza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.