PHP com PostgreSQL - Estruturando a conexão

Neste artigo será mostrada uma maneira de organizar e estruturar melhor o código fonte de um sistema desenvolvido em PHP utilizando conexão com banco de dados PostgreSQL.

[ Hits: 93.353 ]

Por: Célio de Jesus Santos em 14/06/2006 | Blog: http://www.cjs.eti.br/


Introdução



Uma dificuldade existente na organização do código fonte de um sistema desenvolvido utilizando a linguagem PHP com banco de dados é o fato de se abrir conexão com o BD simultaneamente, que ao longo do desenvolvimento do sistema gera um número muito grande de linhas de código e dificulta o entendimento do mesmo.

Entende-se que uma vez estabelecida a conexão entre uma estação cliente e o servidor de Banco de Dados, a mesma pode ser aberta e fechada simultaneamente assim que for executada a ação requerida, devido ao fato desta ficar armazenada em memória Cache, o que facilita a próxima conexão e também deixa o servidor livre para outras conexões.

Outra dificuldade que pode ser encontrada em algumas formas de programar é a declaração das variáveis que recebe parâmetros da conexão em várias partes do código fonte do sistema, o que pode causar transtornos, caso venha a ser alterado algum parâmetro da conexão e aumentando assim a quantidade de linhas de código. Para resolver este problema o programador teria que editar todo o código fonte do sistema fazendo as alterações necessárias para se adequar ao novo ambiente.

Para amenizar esses problemas deve-se criar um arquivo separado com os parâmetros de conexão com o SGBD, assim toda e qualquer alteração que for feita para que o sistema se adapte ao ambiente alterado deve ser feita exclusivamente neste arquivo, reduzindo assim o trabalho do programador e diminuindo a quantidade de linhas de código, o que facilitaria o entendimento do mesmo.

Outra maneira de se empregar a reutilização do código e assim reduzir em um grande número as linhas do código fonte e também garantir que toda conexão que for estabelecida com o servidor de BD seja encerrada, ou seja, fechada, é criar uma função separada em um único arquivo que faça a conexão com o Banco, executa a ação requerida, retorne o resultado da execução e encerra a conexão.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Criando um simples formulário de cadastro
   3. Criando o script de conexão com o banco de dados
   4. Criando a função que executa as operações no BD
   5. Gravando no banco de dados
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Gallery - Álbum de fotos no seu site

Como criar um sistema de autenticação de usuários usando PHP/MySQL

Provendo dados em um servidor PostgreSQL através do Apache e PHP

Sistema PDV com PHP-GTK2 e ACBrMonitor (parte 2)

Servidor Web com Fedora Core 7

  
Comentários
[1] Comentário enviado por cvs em 14/06/2006 - 11:24h

Olha só quem eu encontro por aqui... E ae rapaz, bom? Hehehe... Estudo com você, pego SAD na mesma sala, sou o Thiago... interessante o artigo, vai ajudar num serviço aqui no trampo... mas eu preferiria mysql... hehehe


valeu.

[2] Comentário enviado por amauripump em 14/06/2006 - 11:32h

muito bem célio... vai me ser muito útil no projeto da agenda!
rs
valeu celio... falou
Amauri...

[3] Comentário enviado por celiojs em 14/06/2006 - 11:37h

Thyago,
O que vai alterar neste exemplo para o MySQL é apenas as funções específicas do mesmo. No mais vai funcionar perfeitamente.
Até mais,

[4] Comentário enviado por removido em 14/06/2006 - 14:38h

falaaaaaaaaaa sr: Celio, legal seu artigo, muito bom ter lembrado de sempra fechar a conexão com o banco de dados, assim evita PhP Injection , o que pode ocasionar façanhas com codigos arbitrarios.


abraços.

[5] Comentário enviado por sodeboa em 14/06/2006 - 20:25h

E ai meu brother só de boa ? legal seu artigo quando tiver mais um tempinho vou mexer nessa parada com mais detalhes qualquer duvida coloca aqui flw um abraço.

[6] Comentário enviado por dhoko em 15/06/2006 - 02:24h

Muito boa dica de organização!

fazer um arquivo/função para pegar as querys,, muito bom!

[7] Comentário enviado por wanderleihuttel em 16/06/2006 - 13:21h

Muito bom mesmo, simples e funcional.
Já dá para uma noção de como conectar com o BD.
Valeu
Abraço

[8] Comentário enviado por sergioramiro em 14/09/2006 - 18:09h

Sr. Célio:

Estou seguindo ao pé da letra suas instruções, mas por algum motivo estou recebendo apenas mensagem de erro do meu servidor. favor veja a mensagem a seguir:
Fatal error: Call to undefined function: pg_connect() in C:\Inetpub\wwwroot\Governo\secretarias\codin\teste\conecta.php on line 2

quando eu passo estes parametros:
$conectabd = pg_connect("dbname= DbTeste port=5432 host = 10.1.0.202 user = sa password = pataconcio");

Será que o sr. pode me ajudar??

[9] Comentário enviado por gzanatta00 em 03/05/2007 - 19:58h

amigo é o seguinte eu quero executar um php com parametros por exemplo
www.site.com.br/cadastro.php?codigo=1&nome=Gustavo
mas ele funciona a cadastro.php, mas dentro do registro ele nao esta conseguindo pegar as variaveis $codigo e $nome

me da uma luz ai companheiro

[10] Comentário enviado por celiojs em 03/05/2007 - 21:58h

É o seguinte:

pra você obter esses valores passados por URL você usará o método
$codigo = $_GET["codigo"];
$nome = $_GET["nome"];

ou Assim:

$codigo = $_REQUEST["codigo"];
$nome = $_REQUEST["nome"];

Fazendo isso creio que funcionará.

Espero ter ajudado.

Célio

[11] Comentário enviado por gzanatta00 em 24/05/2007 - 21:37h

esse paramentro é assim, eu tinha ele em outro servidor, e agora estou tentando trazer para este novo, e na proxima pagina ele iria pegar com o comando $codigo = ${"codigo"}
so que nao ta recebendo, ,eu acho q ta faltando algum componente para isso....vc saberia?
é a mesma coisa q acontece no http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4525, eu precisaria pegar o valor ex: 4525

[12] Comentário enviado por virlei em 13/08/2007 - 14:11h

Prezado Célio,

Parabéns pelo excelente artigo. Serviu-me de guia para projetar uma solução PHP+Postgresql.

Apenas um detalhe: no arquivo cadastrar.php, a instrução SQL está com os campos e valores associados invertidos. Assim, a linha
$Sql = "Insert into tabela(nome, cpf) values('$cpf', '$nome')"
deve ser trocada para
$Sql = "Insert into tabela(nome, cpf) values('$nome', '$cpf')"

Saudações

[13] Comentário enviado por celiojs em 14/08/2007 - 00:06h

Olá Virlei,
Saber que serviu de base para alguém é o que nos motiva a construir trabalhos assim.
Agradeço pela observação feita nesta parte do artigo.
Em breve estarei publicando um artigo mais avançado.
Desde já agradeço.
Célio

[14] Comentário enviado por brunoestevao em 12/03/2008 - 14:55h

Olá a todos.

Serviu bastante. Adorei seu script.

Abraços

Bruno Estêvão
www.sempihost.com.br
Hospedagem de sites com 30 dias grátis


Contribuir com comentário