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 “<h3>O sistema não está conectado à  [$this->dbname] em [$this->host].</h3>”;
exit;
}
else{
echo “<h3>O sistema está conectado à  [$this->dbname] em [$this->host].</h3>”;
}
}
}

?>

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.

Deixei um vídeo tosco mostrando/explicando melhor como funciona essa classe.
Dê uma olhada no vídeo aqui

Abraços,

Rafael Clares

Comments

  1. By Gustavo stork

  2. By Cláudia Luísa W. E. Ribeiro

  3. By Alexandre

  4. By Vinicius

  5. By Axel Alexander

  6. By Alexandre

  7. By Axel Alexander

  8. By Axel Alexander

  9. By Axel Alexander

  10. By Joelson

  11. By alexandre

  12. By HSlife

  13. By fogueth

  14. By CARLOS

  15. By carlos

      • By carlos

  16. By carlos

      • By Carlos

  17. By Ricardo

      • By Ricardo

  18. By Ricardo

  19. By Denner Luan

  20. By fabio luis

  21. By Ubiraci Rafael Gomes

  22. By Will

  23. By Lenadro

  24. By Jonathan

      • By Jonathan

      • By Jonny

      • By Jonny

  25. By Jonny

      • By Jonny

  26. By igor

  27. By igor

  28. By RICARDO FERNANDES DA SILVA

  29. By RICARDO FERNANDES DA SILVA

  30. By LG

  31. By Lucas

  32. By Ricardo

  33. By Aliana

  34. By carasco

    • By Rafael Clares

  35. By murilo

%d blogueiros gostam disto: