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.

[ Hits: 38.334 ]

Por: Adilson Santos da Rocha em 14/04/2008


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();
?>

    Próxima página

Páginas do artigo
   1. Introdução
   2. Conetando e executando queries
   3. Transações
Outros artigos deste autor

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

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

Aumente sua produção em PHP

Leitura recomendada

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

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

PHP com PostgreSQL - Estruturando a conexão

Criando backup do MySQL com o mysqldump

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

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts