Bom, provavelmente você está reescrevendo o valor desse atributo em
outro momento. O código enviado tem 36 linhas mas os erros ocorrem nas
linhas 76 e 81...

    Ou ainda, sua conexão falhou, mas como não está testando
($this->postgres != 0), aparece o erro.

    Fiz testes aqui e funcionou. Postgresql 8.3 e PHP 5.2.5-3 servidor
Debian Linux.

2008/9/9 Marcos Fabrício Corso <[EMAIL PROTECTED]>

>  cara, mudei, mas sem sucesso ...
>
>
>
> ----- Original Message -----
> *From:* William Leite Araújo <[EMAIL PROTECTED]>
> *To:* Marcos Fabrício Corso <[EMAIL PROTECTED]> ; Comunidade
> PostgreSQL Brasileira <[email protected]>
> *Sent:* Tuesday, September 09, 2008 1:54 PM
> *Subject:* Re: [pgbr-geral] Fw: Conexão PHP e Postgresql
>
>
>
> 2008/9/9 Marcos Fabrício Corso <[EMAIL PROTECTED]>
>
>>   ----- Original Message ----- *From:* Marcos Fabrício Corso<[EMAIL 
>> PROTECTED]>
>> *To:* Lista PHP <[EMAIL PROTECTED]>
>> *Cc:* Lista Postgres <[email protected]>
>> *Sent:* Tuesday, September 09, 2008 10:57 AM
>> *Subject:* Conexão PHP e Postgresql
>>
>> Olá pessoal
>> Criei uma classe de conexão do PHP com o Postgresql
>>
>>
>> *conexao.php*
>> **
>> Class Postgresql {
>>     public function conectar() {
>>         $this->postgres = pg_connect( "host=localhost port=5432
>> dbname=teste user=teste password=teste" ) ;
>>
>
>     Esqueceu de enviar o código que diz que "postgres" é um atributo da
> classe ou é porque não colocou mesmo?
> Algo do tipo:
>
> private $postgres; (PHP 5)
>
> var $postgres; (PHP4)
>
>
>>
>>         $status2 = pg_connection_status($this->postgres);
>>         if ($status2 != 0) {
>>             echo 'Erro na conexão com o banco de daddos, por favor,
>> aguarde uns instantes para acessar novamente';
>>             die();
>>         }
>>         return ;
>>     }
>>
>>     public function desconectar() {
>>         $status = pg_connection_status($this->postgres);
>>         if ($status != 0) {
>>             echo 'Erro na conexão com o banco de daddos, por favor,
>> aguarde uns instantes para acessar novamente';
>>             die();
>>         }
>>         $ocupa = pg_connection_busy($this->postgres);
>>         if ($ocupa) {
>>             echo 'Erro na conexão com o banco de daddos, por favor,
>> aguarde uns instantes para acessar novamente';
>>             die();
>>         }
>>         pg_close( $this->postgres ) ;
>>         return ;
>>     }
>>
>>     public function executar($sql1) {
>>         $status1 = pg_connection_status($this->postgres);
>>         if ($status1 != 0) {
>>             echo 'Erro na conexão com o banco de daddos, por favor,
>> aguarde uns instantes para acessar novamente';
>>             die();
>>         }
>>         $resultado1 = pg_query($this->postgres, $sql1);
>>         return $resultado1 ;
>>     }
>> }
>>
>> Nos meus arquivos eu chamo
>>
>> *cadastro.php*
>> *...*
>> *        *require_once('conexao.php') ;
>>         $conecta = new Postgresql();
>>         $conecta->conectar();
>>         $resultado = $conecta->executar( " select uf, cidade, fantasia
>> from cliente where codigo = $this->ued ; " );
>>         $total = pg_numrows ($resultado);
>>         for ($tupla = 0; $tupla < $total; $tupla ++) {
>>             $estado = pg_result ($resultado, $tupla, 0);
>>             $cidade = pg_result ($resultado, $tupla, 1);
>>             $fantas = pg_result ($resultado, $tupla, 2);
>>         }
>>         $conecta->desconectar();
>> ....
>>
>>
>> Mas durante a execução do código, aparece o seguinte erro, dizendo que a
>> conexão está ocupada, acho que porque ele está execuntando ...
>>
>> *Warning*: pg_connection_status(): 16 is not a valid PostgreSQL link
>> resource in */home/httpd/vhosts/httpdocs/matricula_novo/conexao.php* on
>> line *76*
>>
>> *Warning*: pg_query(): 16 is not a valid PostgreSQL link resource in *
>> /home/httpd/vhosts/httpdocs/matricula_novo/conexao.php* on line *81*
>> Mas preciso as vezes fazer uns 2 ou 3 select juntos, como resolver isso
>>
>>
>
>      O erro não é porque o banco esteja "ocupado", mas sim porque o
> atributo passado como "Postgresql Link Resource" não é desse tipo. Isso
> reforça minha tese de que esqueceu de colocar o item "$postgres" como um
> atributo da classe...
>
> --
> William Leite Araújo
> Analista de Banco de Dados - QualiConsult
>
> ------------------------------
> E-mail verificado pelo Terra Anti-Spam.
> Para classificar esta mensagem como spam ou não spam, clique 
> aqui<http://mail.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCYxMTgwMDA2NyNwZXJtIXRlcnJhJjEsMTIyMDk3OTMyMi4zMzgzOTUuMTQxMTAuY2FtZW5hbmEuaHN0LnRlcnJhLmNvbS5iciwxNzMxMw==>
> .
> Verifique periodicamente a pasta Spam para garantir que apenas mensagens
> indesejadas sejam classificadas como Spam.
>
> ------------------------------
> Esta mensagem foi verificada pelo E-mail Protegido 
> Terra<http://mail.terra.com.br/>
> .
> Atualizado em 09/09/2008
>
>


-- 
William Leite Araújo
Analista de Banco de Dados - QualiConsult
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a