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

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


Criando a função que executa as operações no BD



Com a criação desta função, todas as operações no banco de dados serão realizadas nela, para que isso possa acontecer, incluímos esta função utilizando a função "include" do PHP, o arquivo conecta.php que criamos anteriormente, com os dados para a realização da conexão.

Esta função recebe como parâmetro a String de SQL que será executada no Banco de Dados e retorna o resultado da operação.

Lembrando que ao término de qualquer operação que for realizada, será fechada a conexão, evitando assim que o programador esqueça de fechá-la em alguma parte do seu código.

Este código deverá ser salvo em um arquivo separado com o nome de executa.php

<?php
     function executa($Sql){
             //Testando se existe o arquivo
             if (file_exists("conecta.php")){
                 include("conecta.php");
              }
              if (!file_exists("conecta.php")){
                 $msgErro = "<center><font color='#FF0000'><b>";
                 $msgErro .= "Não foi possível conectar ao banco de Dados<br>";
                 $msgErro .= "Porque não existe o arquivo 'conecta.php'.";
                 $msgErro .= "</b></font></center>";
                 echo "<br><br>";
                 echo $msgErro;
                 exit;
              }
              $Resultado = pg_query($conectabd,$Sql);
              pg_close($conectabd);
              return $Resultado;
     }
?>
Página anterior     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

Abordagem exemplificada à Orientação a Objetos com PHP

Stored Procedures usando o MySQL e PHP

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

Paginando resultados com a classe Generic Easy Pagination

PHP com suporte ao MS SQL Server 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