SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
PDO
PHP Data Objects
André Andrade Carvalho - andreandrade17@gmail.com
Ahnnnnnnnnnnn!!!!
Não entre em pânico.
Filho da mãe...!!
O que é PDO ?
Em razão da crescente utilização do PHP, surgiu a
necessidade de unificar o acesso a diferentes bancos de
dados presentes no PHP e assim surgiu o PDO, que é um
módulo
montado
sob
o
paradigma
Orientado a Objetos e cujo objetivo é prover uma
padronização da forma com que o PHP se comunica com
um banco de dados relacional.
Como habilitar o PDO ?
Esta presente na versão 5.0 e superior.
No php.ini, tire o comentários dessas linhas:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
* Obviamente que você irá habilitar somente os drivers que deseja utilizar.
O que tem no PDO ?
PDO::beginTransaction — Inicializa uma transação.
PDO::commit — Dá o commit em uma transação.
PDO::exec — Executar uma instrução SQL e retornar o valor.
PDO::inTransaction — Verifica se existe uma transação.
PDO::lastInsertId — Retorna o ID da última linha inserida ou valor de
sequência.
PDO::prepare — Prepara um comando para execução com
declaração WHERE.
PDO::query — Prepara um comando para execução.
PDO::quote — Cita uma string para usar em uma consulta.
PDO::rollBack — Rolls back em uma transação.
Conexão no PDO ?
Inserindo no PDO ?
Prepared statements e bind params ?
Prepared Statemens são consultas “préprontas” onde dividimos em partes a
inserção do código SQL a ser executado e os
valores a serem utilizados (bind params).
Prepared statements e bind params ?
Bind params: Irá referenciar nossa chave ao
valor, especificando seu tipo, como:
PDO::PARAM_STR (strings),
PDO::PARAM_INT(inteiros),
PDO::PARAM_BOOL (booleanos)

* Lista de constantes PDO - http://php.net/manual/en/pdo.constants.php
Deletando no PDO ?
Alterando no PDO ?
Consulta 1 no PDO ?

FETCH_ASSOC : retorna um array indexado pelo nome da coluna.
Resultado Consulta 1 no PDO ?
Consulta 2 no PDO ?

FETCH_OBJ: retorna um objeto com nomes correspondem aos das colunas.
Resultado Consulta 2 no PDO ?
Controle de transação
Begin Transaction:
Comando
para
indicar
onde
uma
transação
será
iniciada.
A partir desse comando, todas as querys surtirão efeitos permanentes no
banco de dados somente quando for executado o commit;

Commit:
Comando para confirmar a execução de todas as querys executadas na transação.
Após o commit não poderá ser desfeito as manipulações ocorridas.
O commit deve ser executado depois de todas as verificações de erros.

Rollback:
Comando para desfazer a ação todas as querys que foram executadas na transação.
É utilizado sempre que algum erro ocorre.
Controle de transação
Vantagens de usar PDO.
Flexibilidade – Como o PDO carrega o driver específico do banco de dados em
tempo de execução, não é preciso reconfigurar o PHP sempre que um banco de dados
diferente for usado.

Desempenho – O PDO está escrito em C e compilado no PHP, o que lhe garante um
aumento considerável no desempenho em relação a soluções escritas em PHP.

Consistência de código – No PDO não existe a inconsistência de código, pois é
oferecida apenas uma interface unificada que é está disponível para qualquer banco
de dados.
Vantagens de usar PDO.
Sql injection – Previne SQL Injection.
Características de orientação de objetos – Possui recursos de orientação de
objetos, o que resulta em uma comunicação mais poderosa e eficiente com banco de
dados.
Referências
•
•
•
•
•

http://joaopedropereira.com
http://enfatizando.wordpress.com
http://www.rafaelwendel.com
http://phpbrasil.com
http://php.net/manual/pt_BR/book.pdo.php
Dúvidas....!
Obrigado..!

Weitere ähnliche Inhalte

Was ist angesagt?

Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Natan Moraes
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoLuiz Junior
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPAndréia Santos
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHPPaulo Dayvson
 
Testando Aplicações com PHPT
Testando Aplicações com PHPTTestando Aplicações com PHPT
Testando Aplicações com PHPTSidney Souza
 
C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015Renato Groff
 
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Rogério Moraes de Carvalho
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX Sérgio Souza Costa
 
Funcionamento kernel
Funcionamento kernelFuncionamento kernel
Funcionamento kernelSENAC RIO
 

Was ist angesagt? (20)

Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
Posix
PosixPosix
Posix
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Testando Aplicações com PHPT
Testando Aplicações com PHPTTestando Aplicações com PHPT
Testando Aplicações com PHPT
 
Resumo OpenMP
Resumo OpenMPResumo OpenMP
Resumo OpenMP
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015
 
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
 
Aula12- PHP
Aula12- PHPAula12- PHP
Aula12- PHP
 
Novidades do plone 4
Novidades do plone 4Novidades do plone 4
Novidades do plone 4
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Aula11 - PHP
Aula11 - PHPAula11 - PHP
Aula11 - PHP
 
Aula10 -PHP
Aula10 -PHPAula10 -PHP
Aula10 -PHP
 
Funcionamento kernel
Funcionamento kernelFuncionamento kernel
Funcionamento kernel
 

Ähnlich wie Pdo Apresentação Básica

Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPyDesenvolvendo uma Aplicação WEB usando o Python e o CherryPy
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPyantonio sérgio nogueira
 
Servidor de Aplicação Web: CherryPy - Python
Servidor de Aplicação  Web: CherryPy - PythonServidor de Aplicação  Web: CherryPy - Python
Servidor de Aplicação Web: CherryPy - Pythonantonio sérgio nogueira
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 
Php5 Orientado A Objetos
Php5 Orientado A ObjetosPhp5 Orientado A Objetos
Php5 Orientado A ObjetosRápido Site
 
Webservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHPWebservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHPFlávio Lisboa
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFlávio Lisboa
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...Bruno Tanoue
 
PHP SC Conf 2014 - PHP Essentials
PHP SC Conf 2014 - PHP EssentialsPHP SC Conf 2014 - PHP Essentials
PHP SC Conf 2014 - PHP EssentialsMaykon Meier
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkFlávio Lisboa
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetosFrancisco Santos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetosFer Nando
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetosFabiano Rodrigues
 

Ähnlich wie Pdo Apresentação Básica (20)

Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPyDesenvolvendo uma Aplicação WEB usando o Python e o CherryPy
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
 
Servidor de Aplicação Web: CherryPy - Python
Servidor de Aplicação  Web: CherryPy - PythonServidor de Aplicação  Web: CherryPy - Python
Servidor de Aplicação Web: CherryPy - Python
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
Php5 Orientado A Objetos
Php5 Orientado A ObjetosPhp5 Orientado A Objetos
Php5 Orientado A Objetos
 
Webservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHPWebservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHP
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
PHP SC Conf 2014 - PHP Essentials
PHP SC Conf 2014 - PHP EssentialsPHP SC Conf 2014 - PHP Essentials
PHP SC Conf 2014 - PHP Essentials
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetos
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetos
 

Pdo Apresentação Básica

  • 1. PDO PHP Data Objects André Andrade Carvalho - andreandrade17@gmail.com
  • 3. Não entre em pânico.
  • 5. O que é PDO ? Em razão da crescente utilização do PHP, surgiu a necessidade de unificar o acesso a diferentes bancos de dados presentes no PHP e assim surgiu o PDO, que é um módulo montado sob o paradigma Orientado a Objetos e cujo objetivo é prover uma padronização da forma com que o PHP se comunica com um banco de dados relacional.
  • 6. Como habilitar o PDO ? Esta presente na versão 5.0 e superior. No php.ini, tire o comentários dessas linhas: extension=php_pdo.dll extension=php_pdo_mysql.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll * Obviamente que você irá habilitar somente os drivers que deseja utilizar.
  • 7. O que tem no PDO ? PDO::beginTransaction — Inicializa uma transação. PDO::commit — Dá o commit em uma transação. PDO::exec — Executar uma instrução SQL e retornar o valor. PDO::inTransaction — Verifica se existe uma transação. PDO::lastInsertId — Retorna o ID da última linha inserida ou valor de sequência. PDO::prepare — Prepara um comando para execução com declaração WHERE. PDO::query — Prepara um comando para execução. PDO::quote — Cita uma string para usar em uma consulta. PDO::rollBack — Rolls back em uma transação.
  • 10. Prepared statements e bind params ? Prepared Statemens são consultas “préprontas” onde dividimos em partes a inserção do código SQL a ser executado e os valores a serem utilizados (bind params).
  • 11. Prepared statements e bind params ? Bind params: Irá referenciar nossa chave ao valor, especificando seu tipo, como: PDO::PARAM_STR (strings), PDO::PARAM_INT(inteiros), PDO::PARAM_BOOL (booleanos) * Lista de constantes PDO - http://php.net/manual/en/pdo.constants.php
  • 14. Consulta 1 no PDO ? FETCH_ASSOC : retorna um array indexado pelo nome da coluna.
  • 16. Consulta 2 no PDO ? FETCH_OBJ: retorna um objeto com nomes correspondem aos das colunas.
  • 18. Controle de transação Begin Transaction: Comando para indicar onde uma transação será iniciada. A partir desse comando, todas as querys surtirão efeitos permanentes no banco de dados somente quando for executado o commit; Commit: Comando para confirmar a execução de todas as querys executadas na transação. Após o commit não poderá ser desfeito as manipulações ocorridas. O commit deve ser executado depois de todas as verificações de erros. Rollback: Comando para desfazer a ação todas as querys que foram executadas na transação. É utilizado sempre que algum erro ocorre.
  • 20. Vantagens de usar PDO. Flexibilidade – Como o PDO carrega o driver específico do banco de dados em tempo de execução, não é preciso reconfigurar o PHP sempre que um banco de dados diferente for usado. Desempenho – O PDO está escrito em C e compilado no PHP, o que lhe garante um aumento considerável no desempenho em relação a soluções escritas em PHP. Consistência de código – No PDO não existe a inconsistência de código, pois é oferecida apenas uma interface unificada que é está disponível para qualquer banco de dados.
  • 21. Vantagens de usar PDO. Sql injection – Previne SQL Injection. Características de orientação de objetos – Possui recursos de orientação de objetos, o que resulta em uma comunicação mais poderosa e eficiente com banco de dados.
  • 23.
  • 24.