PHP + PostgreSql – Conexão com banco de dados

Tenho visto muito o pessoal procurar artigos e tutoriais sobre PHP e percebi que a busca por banco de dados ainda é pouca. Pensei em mostrar aqui como se conectar à um banco de dados SQL, afinal de contas o PHP apenas para cálculos e comandos de servidor não é tãoooo divertido embora eu ache fascinante!
Veremos como se conectar ao PostgreSql que é o que eu utilizo como SGBD (sistema gerenciador de banco de dados), o pessoal tem utilizado muito o MySql que também é excelente, gosto mais do PostgreSql devido aos padrões mantidos estarem mais próximos do SQL. (Se ainda não tem instalado baixe em PostgreSql).
Bem, o postgre como muitos (ou todos) os SGBD’s  devem receber como parâmetros os dados de conexão, tais como, usuário, senha, host, port, base.
No PHP o comando utilizado para conectar-se ao PostgreSql é o pg_connect(“parâmetros”), então nada melhor do que começarmos e iremos fazer isso com uma classe (Classes c/ PHP5) !
O arquivo conexao.class.php (o .class é apenas para identificarmos o arquivo como uma classe).


Class Conexao
{
protected $host = “localhost”;
protected $user = “postgres”;
protected $pswd = “postgres”;
protected $dbname = “teste”;
protected $con = null;
function __construct(){} //método construtor
#método que inicia conexao
function open(){
$this->con = @pg_connect(host=$this->host user=$this->user
password=
$this->pswd dbname=$this->dbname“);
return $this->con;
}
#método que encerra a conexao
function close(){
@pg_close($this->con);
}
#método verifica status da conexao
function statusCon(){
if(!$this->con){
echo

O sistema não está conectado à  [$this->dbname] em [$this->host].

”;
exit;
}
else{
echo

O sistema está conectado à  [$this->dbname] em [$this->host].

”;
}
}
}
?>

Set os valores das variáveis host, user, pswd e dbname
host = geralmente localhost ou seu ip
user = usuário que criou ao instalar o postgre
pwsd = senha do usuário do postgre
dbname = a base que deseja se conectar no postgre

Como eu havia dito pg_connect() é o método PHP que conecta-se ao  PostgreSql, o ‘@’ antes do método serve para inibir/ocultar as mensagens de erro do método caso ocorram durante a tentativa de conexao. Você pode  retira-la e testa-la informando algum valor incorreto nas variáveis de conexão. Geralmente ocultamos essas mensagens para que um visitante ao acessar seu sistema não veja os parâmetros utilizados ou nomes de váriaveis que você utiliza na conexão, em outras palavras, ocultamos as mensagens por segurança. Existem outras formas de tratar os erros e  as mensagens com segurança, mas isso não será abordado aqui. Ao menos nesse post, não!
Os valores contidos como parâmetros em pg_connect() são os valores das variáveis setadas no inicio da classe.  Seria interessante criar métodos para setar os valores de variáveis de conexao apenas se você precisasse utilizar mais de um banco (não base, banco) na sua aplicação, para evitar criar 2 classes diferentes poderiamos fazer um método do tipo setUserBanco(), setHostBanco(“localhost 2″), entendeu ? ok!
Mas como trata-se apenas de 1 conexão, seria muitos métodos para pouca coisa!
O método open() retorna o estado da conexao (true ou false), com isso podemos através do método statusCon() saber se a conexao está ativa ou não.
O método close(), como você imaginou encerra a conexao chamando o método PHP pg_close();
Crie agora o arquivo index.php para testarmos a conexao

#incluindo a classe conexao (supondo estar no mesmo diretorio)
include(‘conexao.class.php’);

#instanciando o objeto
$minhaConexao = new Conexao();
#chamada ao metodo open que abra a conexao
$minhaConexao->open();
#verificando o status da conexao
$minhaConexao->statusCon();
#encerrando a conexao
$minhaConexao->close();
#verificando a conexao apos close();
$minhaConexao->statusCon();
?>

É isso pessoal, bem simples e num post futuro veremos como gravar/editar/atualizar/excluir registros de uma tabela usando o PHP e PostgreSql.

Novo Comentário

Seu comentário será moderado e poderá não ser aprovado.

Programas Para PC | Seu Blog de downloads
Deixe sua opinião nessa Postagem. Sua opinião é muito importante para Nós.
Se puder, seja um seguidor desse Blog. Não custa nada!
 
CLICK AQUI ! CLICK AQUI ! CLICK AQUI ! CLICK AQUI ! CLICK AQUI ! CLICK AQUI ! CLICK AQUI !