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

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

Gallery - Álbum de fotos no seu site

Servidor Web com Fedora Core 7

Oracle 9i, Apache e PHP

Configurando Apache + MySQL + Manipulação de dados com PHP

Executando comandos DML em base de dados MySQL através do Eclipse PHP (Bônus: Temas e Fontes no Eclipse)

  
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