Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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() $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;
}
}
}
}
?>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
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