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: 94.959 ]

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

Uma introdução à classe ADODB

PHP com suporte ao MS SQL Server 7

Criando backup do MySQL com o mysqldump

Armazenando datas de uma outra forma

Oracle 9i, Apache e PHP

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts