O que é PDO e quais vantagens de utilizar ele no PHP \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 14 Horas 

 15 Min 

 29 Seg 

   Tempo restante da oferta: 14 15 29 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) O que é PDO e quais vantagens de utilizar ele no PHP  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

# O que é PDO e quais vantagens de utilizar ele no PHP

 Aprenda o que é PDO e as vantagens de utilizá-lo na linguagem de programação PHP. Veremos também o que é o conceito de driver do PDO e como ativá-los.

 [ Elton Fonseca ](https://www.treinaweb.com.br/blog/autor/elton-fonseca) 6 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/07/o-que-e-pdo-no-php.png)  

O PDO é a extensão de acesso a banco de dados mais utilizado na [linguagem de programação PHP](https://www.treinaweb.com.br/blog/o-que-e-php "linguagem de programação PHP"). Neste post vamos entender exatamente o que é o PDO e como ativar a extensão dele no PHP.

[  ![PHP - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/php.svg)   Curso PHP - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/php-fundamentos)

## O que é PDO

O PDO (PHP Data Object) é uma [extensão da linguagem PHP](http://treinaweb.com.br/blog/o-que-sao-extensoes-no-php "extensão da linguagem PHP") para acesso a banco de dados. Totalmente orientado a objetos ele possui diversos recursos importantes, além de suporte a diversos mecanismos de [banco de dados](https://www.treinaweb.com.br/blog/o-que-e-banco-de-dados/ "banco de dados").

Veja abaixo as principais funcionalidades:

- Queries parametrizadas
- Diferentes tipos de retorno
- Diferentes tipos de tratamento de exceções
- Tratamento de transações

## Banco de dados suportados pelo PDO

O PDO possui suporte aos [principais banco de dados relacionais do mercado](https://www.treinaweb.com.br/blog/os-principais-sgbds-relacionais/ "principais banco de dados relacionais do mercado"). Esse suporte é possível devido ao conceito de Driver que ele utiliza. Basicamente um driver é uma extensão que instalamos no PHP e que indica como o PDO vai se comunicar com aquele banco de dados em específico.

Abaixo podemos ver a lista dos principais drivers disponíveis:

- [MySQL](https://www.treinaweb.com.br/blog/primeiros-passos-com-mysql/ "MySQL")
- SQL Server
- PostgreSQL
- Oracle
- SQLite

## Compatibilidade entre diferentes bancos de dados

Uma vantagem do PDO em relação a outras extensões de banco de dados para PHP é a possibilidade de através das mesmas classes e métodos executar queries em diferentes SGBDs (Sistema gerenciador de banco de dados), isso é muito importante, pois o desenvolvedor não precisa conhecer os recursos de várias extensões diferentes para trabalhar com diferentes SGBD na linguagem.

Teoricamente seria possível pegar qualquer aplicação que utiliza PDO e trocar o SGBD dela sem problemas, uma vez que a linguagem SQL (Structured Query Language) possui padrões que deveriam ser seguidos por todos os sistemas gerenciadores de banco de dados, porém infelizmente isso não acontece muito bem na prática. Muitos bancos de dados, implementam recursos específicos para sua plataforma e como o PDO não abstrai a linguagem SQL, ao tentarmos trocar teremos que tratar as diferenças.

## Como ativar o PDO no PHP

A extensão principal do PDO já vem ativada por padrão no PHP. O que precisamos na verdade, é ativar a extensão do driver do SGBD que vamos utilizar.

Ao abrir o arquivo `php.ini` na parte de extensões, provavelmente verá a seguinte lista de extensões com prefixo `pdo_`:

```
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite

```

Se estiver em uma instalação Windows do PHP provavelmente basta descomentar a linha, tirando o `;` da frente e reiniciar o serviço. No linux precisa verificar na distribuição que está usando como fazer, no Ubuntu por exemplo, poderia usar o apt-get para instalar e ativar o driver do banco de dados que vai usar:

```
sudo apt-get install php7.4-mysql

```

[  ![Desenvolvedor PHP Pleno](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/php.svg)   Formação Desenvolvedor PHP Pleno Conhecer a formação ](https://www.treinaweb.com.br/formacao/desenvolvedor-php-pleno)

## Considerações finais

O PDO é extremamente importante no ecossistema PHP! Muitas aplicações utilizam ele diretamente para acessar banco de dados relacionais e a maioria das aplicações utiliza ele mesmo sem saber, através de componentes como [Eloquent](https://www.treinaweb.com.br/blog/tag/eloquent/ "Eloquent") e QueryBuilder do [Laravel](https://www.treinaweb.com.br/blog/o-que-e-laravel/ "Laravel") e [DBAL](https://www.treinaweb.com.br/blog/conheca-os-principais-projetos-do-doctrine/ "DBAL") e [ORM do Doctrine](https://www.treinaweb.com.br/blog/primeiros-passos-com-doctrine-orm/ "ORM do Doctrine").

- [ #Banco de dados ](https://www.treinaweb.com.br/blog/tag/banco-de-dados)
- [ #extensões php ](https://www.treinaweb.com.br/blog/tag/extensoes-php)
- [ #pdo ](https://www.treinaweb.com.br/blog/tag/pdo)

Autor

 ![Elton Fonseca](//secure.gravatar.com/avatar/2cee05645357ced0841ce76ba5569c72?d=mm)

## Elton Fonseca

 Professor e desenvolvedor. Formado em análise e desenvolvimento de sistema, pós graduado em engenharia e arquitetura de software. É autor de cursos em diversos temas, como, desenvolvimento back-end, cloud computing e CMSs. Nas horas vagas adora estudar sobre o mercado financeiro, cozinhar e brincar com pequeno Daniel. [@eltonfonsecadev](https://twitter.com/eltonfonsecadev) 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/elton-fonseca)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/o-que-sao-extensoes-no-php-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     6 anos atrás

    ##  [ O que são Extensões no PHP ](https://www.treinaweb.com.br/blog/o-que-sao-extensoes-no-php) 

     Aprenda o que são extensões no PHP, como instalar e ativar. Entenda também porque o PHP possui o conceito de extensões e quais são as mais usadas.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/06151538/principais-projetos-doctrine-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Conheça os principais projetos do Doctrine ](https://www.treinaweb.com.br/blog/conheca-os-principais-projetos-do-doctrine) 

     O Doctrine é um conjunto de projetos PHP voltados principalmente para trabalhar com persistência de dados. Neste post vamos falar como esses projetos surgiram e qual a utilidade de cada um.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/09153638/doctrine-ORM-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Primeiros passos com Doctrine ORM ](https://www.treinaweb.com.br/blog/primeiros-passos-com-doctrine-orm) 

     Conheça os principais conceitos do Doctrine ORM, como entidade, mapeamento e Entity Manager. Veja também como executar um exemplo prático de criação de registro no banco de dados.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/08/24120107/streams-400x280.jpg)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Stream Wrappers personalizados no PHP ](https://www.treinaweb.com.br/blog/stream-wrappers-personalizados-no-php) 

     Veja como Stream Wrappers personalizados podem ser criados em PHP para se trabalhar com streams usando as funções nativas da linguagem. A SDK para PHP da AWS e do Google Cloud utilizam, bem como outros serviços.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2024/04/sistemas-mensageria-min-400x280.png)  [ Arquitetura de Software ](https://www.treinaweb.com.br/blog/categoria/arquitetura-de-software) 

     3 anos atrás

    ##  [ O que é e quais as diferenças entre Kafka, RabbitMQ e AWSSQS ](https://www.treinaweb.com.br/blog/o-que-e-e-quais-as-diferencas-entre-kafka-rabbitmq-e-awssqs) 

     Confira nesse artigo o que são sistemas de mensageria, o que são e quais as diferenças entre Kafka, RabbitMQ e AWSSQS.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/12/TS-ZOD-400x280.jpg)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     3 anos atrás

    ##  [ O que é o Zod? ](https://www.treinaweb.com.br/blog/o-que-e-o-zod) 

     Neste artigo vamos ter uma introdução sobre o Zod, uma biblioteca de declaração e validação de dados em TypeScript e criar um exemplo de como utilizá-la.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/11/Clean-Architecture-400x280.png)  [ Arquitetura de Software ](https://www.treinaweb.com.br/blog/categoria/arquitetura-de-software) 

     3 anos atrás

    ##  [ O que vem a ser a Clean Architecture? ](https://www.treinaweb.com.br/blog/o-que-vem-a-ser-a-clean-architecture) 

     Confira nesse artigo uma introdução do que é a Clean Architecture, quais seus componentes e os benefícios ao utilizar essa arquitetura.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/08/code-review-400x280.png)  [ Engenharia de Software ](https://www.treinaweb.com.br/blog/categoria/engenharia-de-software) 

     3 anos atrás

    ##  [ O que é code review e quais são os benefícios? ](https://www.treinaweb.com.br/blog/o-que-e-code-review-e-quais-sao-os-beneficios) 

     Confira neste artigo o que vem a ser o code review e quais são os benefícios de colocar isso em prática no seu time.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/05/closure-400x280.jpg)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     4 anos atrás

    ##  [ O que é Closure ](https://www.treinaweb.com.br/blog/o-que-e-closure) 

     Neste artigo, veremos o que é Closure e por que é tão importante entendê-lo para saber o que acontece por debaixo dos panos na linguagem.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/02/CSS-JS-400x280.jpg)  [ CSS ](https://www.treinaweb.com.br/blog/categoria/css) 

     4 anos atrás

    ##  [ O que é PostCSS e suas funcionalidades ](https://www.treinaweb.com.br/blog/o-que-e-postcss-e-suas-funcionalidades) 

     Neste artigo veremos uma ferramenta que vem auxiliando muito os desenvolvedores durante seus projetos, sendo ela, PostCSS.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/12/BFF-400x280.jpg)  [ Arquitetura de Software ](https://www.treinaweb.com.br/blog/categoria/arquitetura-de-software) 

     4 anos atrás

    ##  [ O que é BFF? ](https://www.treinaweb.com.br/blog/o-que-e-bff) 

     Conheça neste artigo o pattern arquitetural BFF (Backend For Frontend).

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/11/O-QUE-E-HTML-400x280.jpg)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     4 anos atrás

    ##  [ O que é HTML? ](https://www.treinaweb.com.br/blog/o-que-e-html) 

     No artigo de hoje, será abordado o tema HTML, nele irá conter desde sua história, quem o criou e como deve ser montada sua estrutura.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **14h 15min 29s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
