Ir para conteúdo

POWERED BY:

Arquivado

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

Fabyo

Classe de conexao (PostgreSQL)

Recommended Posts

Fiz uma classe simples para conexao com o banco PostgreSQL, é simples e funcional, mas logo em breve postarei outras classes relacionadas ao PostgreSQL

 

<?php

Class Postgresql
{
protected $pg;

public function __construct()
{
	try {
		$this->pg = @pg_connect("host=localhost port=5432 dbname=banco user=usuario password=senha");
			if( pg_connection_status($this->pg) !== 0 ) {
				throw new Exception("Conexao Falhou");					
			}	
	} catch(Exception $erro) {
		echo $erro->getMessage();
		exit;
	}		
	return false;		
}	

public function __destruct()
{
	return pg_connection_status($this->pg) === 0 ? (!pg_connection_busy($this->pg) ? @pg_close($this->pg) : false) : false;
}	

public function query($sql)
{
	if(pg_connection_status($this->pg) === 0) { 
		if($this->re = @pg_query($this->pg, $sql)) {			
			if(preg_match("#^\s?(select)#i", $sql)) {
				if(pg_num_rows($this->re) > 0) {
					return $this->re;
				}
			} else {
				return pg_affected_rows($$this->re);
			}			
		} else {
			echo pg_last_error(); 
			exit;
		}			
	}	
}
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns pela classe!!! realmente muito simples! Sou iniciante em php e estava procurando uma classe para conexão que eu realmente entendesse. A sua esta perfeita! Mas a maioria das classes que encontrei tinham mais de um arquivo. A minha dúvida é: tenho que fazer mais algum script ou posso simplesmente chamar essa página para ter a conexão?

 

Outra pergunta, pq você usa o caracter "@" na frente de pg_close e pg_connect?

 

Obrigada! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Geralmente o conteúdo da classe é colocado num arquivo, para ser incluído nos scripts em que a classe será usada. Por isso sempre há mais de um arquivo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.