Pular para o conteúdo

PDO - Introdução e conceitos

Uma introdução aos conceitos de utilização dessa extensão do PHP, que é uma forma nativa rápida e de fácil utilização de conectar a banco de dados, manipular e recuperar dados com métodos simples e poderosos.
Adilson Santos da Rocha asrocha
Hits: 38.971 Categoria: PHP Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar

Introdução

Ao desenvolver sistemas em php sempre havia algo que preocupava a equipe de desenvolvimento, a camada de acesso ao banco de dados na aplicação. Muitos optavam em criar suas próprias classes onde tratavam fatores como conexão persistente, escape das queries para evitar sqlinjection, faziam o tratamento de erros ou de execução em queries, preparação e verificação de tipos de dados em campos numéricos e datas etc. Outros utilizavam PEAR DB, ou um outro dos excelentes pacotes PEAR ou uma outra classe muito famosa, a ADODB.

Porém cada uma dessas opções tinha seus prós e contras, como tudo, ofereciam método de execução, fetch e tudo mais, porém havia necessidade de inclusão de arquivos de configurações, e um certo custo na performance da aplicação. Agora com as versões 5.1 ou superiores do php há uma interface rápida, nativa e confiável para o acesso e interação com bancos de dados. Com boas práticas de programação e uso da orientação a objetos pode-se construir aplicações que funcionam em vários bancos com praticamente sem esforço.

Apresentando a PDO

PDO é uma extensão do php que fornece uma interface rápida, segura e leve para acesso e manipulação de banco de dados. Mais do que métodos para acesso a bancos, execução de "queries" e "fetchs". PDO também oferece controle de transações com commit e rollback, e um item importante para a velocidade de produção do projeto, ao invés de trabalhar com erros, pode-se trabalhar com exceções, o que torna menos traumático "debugar" e tratar inconformidades de dados e outros erros. Uma informação importante é que a PDO gera exceções de uma da classe PDOException, portanto deve-se utilizar catch (PDOException $e) para capturar as exceções.

Instalação

A instalação do PDO é muito simples, e na maioria das distribuições ao instalar o php 5.2.x PDO já é instalado automaticamente.

PDO trabalha com o auxílio de drivers para conexão com os banco de dados, portanto deve-se instalar os drivers PDO para os bancos do qual se pretende trabalhar. Há drivers para a maioria dos bancos como MySQL, PostgreSQL, Oracle e ainda a possibilidade de conectar usando ODBC.

Para instalar o PDO basta instalar os pacotes php-pdo e php-pdo_mysql, php-pdo_pgsql ou php-pdo_banco.

Utilizando sua ferramenta de gerenciamento de pacotes yum, urpmi, apt-get.

Para conferir se sua instalação do php tem suporte a PDO e quais drivers da suporte carregue um arquivo php com o código:

<?php
    phpinfo();
?>

   1. Introdução
   2. Conetando e executando queries
   3. Transações

Ninguém planeja fracassar, mas muitos fracassam por não planejar

Aumente sua produção em PHP

Engenharia de Software - Fazer melhor o software e fazer o software melhor

Criando um contador de downloads com PHP e MySQL

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

Armazenando datas de uma outra forma

Gallery - Álbum de fotos no seu site

Abordagem exemplificada à Orientação a Objetos com PHP

#1 Comentário enviado por edirlf em 14/04/2008 - 12:45h
Já está nos favoritos. Parabéns.
#2 Comentário enviado por ygorth em 14/04/2008 - 15:02h
Parabéns.

Excelente artigo para introdução de PDO, direto ao ponto!
#3 Comentário enviado por JhoniVieceli em 15/04/2008 - 13:33h
Isso ai Adilson vou add nos meus favoritos.

Boa pra caramba o artigo e de fácil entendimento

abraço!
#4 Comentário enviado por denis.roschel em 13/06/2008 - 09:05h
Parabéns pelo artigo! Muito didático
#5 Comentário enviado por admtempos em 01/06/2009 - 12:27h
Muito Bom este post principalmente para quem esta começando agora
#6 Comentário enviado por will fernando em 10/08/2009 - 15:00h
muito bom .. parabens !
#7 Comentário enviado por mbmaciel em 31/01/2010 - 16:48h
Artigo de alto nivel e muito bem escrito. Parabens!
#8 Comentário enviado por henbran em 26/05/2010 - 08:56h
Bom Dia.
ESTOU COM UMA DÚVIDA EM HERANÇA EXTENDS

tenho 1 classe:
___________________________________
class A{
public function funcaoA(){
//detalhes
}
}
ººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº

Então tenho outra classe:
___________________________________
class B extends A{
public function funcaoA(){
//detalhes
}
}
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Quando tento instanciar a classe B, sendo estendida da classe A, não instancia.
ex. $instanciaB = new B(); // não funciona.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Se tiro o extends A da declaração da classe B (ficando assim: class B{ ... }), então instancia.
................................................................................................................
Já cheguei a testar todas as classes vazias, tentando saber se haveria algo de errado com as functions, porém mesmo assim continua no mesmo problema.
*******************************************************************************************
POR FAVOR, COMO EU DEVERIA FAZER ENTÃO???
#9 Comentário enviado por removido em 24/12/2010 - 15:46h
Muito bom. Parabéns!

Contribuir com comentário

Entre na sua conta para comentar.