Classe básica de acesso a PostgreSQL pronta para extensões
Publicado por Emiliano Eloi Silva Barbosa 10/08/2006
[ Hits: 5.706 ]
Homepage: http://emilianoeloi.com.br
Esta é uma classe básica, com apenas 5 métodos, para servir de exemplo de como construir uma classe de acesso a PostGreSQL, diminuindo o trabalho de configuração de scripts e também o de codificação, uma vez que tudo vai estar encapsulado na classe. Fiquem à vontade para fazer extensões da classe, implementações de métodos e atributos. Peço que ao fazerem isso, lembrem-se de mandar para mim, pois as idéias acrescentadas podem melhorar um trabalho.
De: Evaldo Barbosa reescrito para PGSQL
(...)
class dbPGSQL {
var $DBC; //DATABASE CONNECTION
var $result;
var $recordCount;
// Método de construção, recebe dados de configuração
function dbPGSQL($DBConfig) {
$this->connectDB($DBConfig); //TENTAR A CONEXÃO COM O BANCO DE DADOS
}
// Método de conexção com o banco de dados.
function connectDB($DBConfig) {
$this->DBC = @pg_pconnect("host=".$DBConfig["host"]." port=".$DBConfig["port"]." dbname=".$DBConfig["db"]." user=".$DBConfig["user"]." password=".$DBConfig["pass"]); //CONECTANDO AO BANCO PostGreSQL ATRAVÉS DE UMA CONEXÃO PERSISTENTE, LEIA MAIS SOBRE ISSO
unset($DBConfig); //MATANDO A MATRIZ DE CONFIGURAÇÃO QUE FOI PASSADA COMO PARÃMETRO
}
// Método de execução da consulta SQL
function Exec($sql) {
$this->result = pg_query($sql); //EXECUTANDO O CÓDIGO SQL
$this->recordCount = (pg_num_rows($this->result) > 0) ? pg_num_rows($this->result) : null; //ATRIBUINDO A QUANTIDADE DE REGISTROS AO ATRIBUTO DA CLASSE
}
// Método de desconexão com o banco!!!
function disconnectDB() {
pg_close($this->DBC);
unset($this->DBC);
}
// MÉTODO USADO COMO DESTRUTOR unset($this)
function _dbPGSQL() {
unset($this);
}
}
(...)
Classe de conexão ao banco usando PDO
Classe PHP para acesso a bancos de dados em MySQL
Nenhum comentário foi encontrado.
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quero instalar, configurar, setar tamanho do rsyslog. (4)
[Resolvido] Conselho distribuiçao brasileira (9)









