<?php

/*

Denvolvido por: Vanessa Schissato
nessa_uepa@yahoo.com.br
08/09/2005

Essa classe deve ser incluida no arquivo para se usar suas funcoes:
include "conexao.inc";

Instrucoes de Uso:

1) Abrir conexao:
        $bd = 'nome_bd';
    $conexao = new Conexao($bd);

2) Executar query:
        $sql = "SELECT * FROM tabela";
    $conexao->Executar($sql);

3) Mostrar resultados:
    While($line = $conexao->MostrarResultados()){
            echo $line['campo1'];
        echo $line['campo2'];
        }

4) Contar linhas:
        $n_lines = $conexao->ContarLinhas();

5) Fechar conexao:
    $conecao->Fechar();

6) Liberar consulta da memoria:
    $conexao->Liberar();

Exemplo:

<?php

        include "conexao.inc"; // Inclui classe

    $bd = 'teste'; //define nome do banco de dados
    $conexao = new Conexao($bd); // Abre conexao

    $sql = "SELECT * FROM tabela"; //consulta sql

    $conexao->Executar($sql);

        //se consulta retornou registros
    if($conexao->ContarLinhas() > 0){
            while($line = $conexao->MostrarResultados()){
               echo $line['campo1'];
               echo $line['campo2'];
            }
        }

        // Libera consulta da memoria
    $conexao->Liberar();

        // Fecha conexao
    $conexao->Fechar();

?>

*/


    // Conexao

    class Conexao{



        var $user = "postgres";

        var $pass = "";

        var $link;

        var $result;


        // Metodo construtor

        function Conexao($bd){

            $this->link = pg_connect("dbname='$bd' user='$this->user' password='$this->pass'") or die ("Configuracao de Banco de Dados Errada!");
        }


        // Executa query

        function Executar($sql){


            $this->result = pg_exec($sql) or die ("Erro ao executar query");

            return $this->result;

        }


        // Salva no array $line resultados retornados

        function MostrarResultados(){


            $line = pg_fetch_array($this->result);

            return $line;

        }


        // Numero de linhas retornada na consulta

        function ContarLinhas(){


            $lines = pg_num_rows($this->result);

            return $lines;

        }


        // Fecha conexao

        function Fechar(){


            pg_close($this->link);

        }


        // Libera consulta da memoria

        function Liberar(){


            pg_free_result($this->result);

        }

    }

?>