SlideShare uma empresa Scribd logo
CONEXÕES EFICIENTES EM
BANCO DE DADOS COM PHP
IGOR LOPES – GDG SUL FLUMINENSE
QUEM SOU EU?
Igor Lopes
O QUE É O GDG
ERRATA
• Errado: mysql_i
• Correto: mysqli
O QUE É O PDO?
• PDO: PHP Data Objects.
• Interface leve e consistente para acessar bancos de dados em
PHP.
• As funções são as mesmas para cada banco suportado.
• Disponível a partir do PHP 5.1
PDO X MYSQLI
PDO
• Suporta 12 bancos de dados
• API orientada o objetos
• Suporta parâmetros
nomeados
• É mais seguro
MYSQLI
• Suporta 1 banco de dado
• API orientada o objetos e
procedural
• Não suporta parâmetros
nomeados
• É mais vulnerável
CONECTANDO AO BANCO
• $variavel = new PDO(...);
• Realiza a conexão com o banco de dados desejado ao informar
o drive do banco desejado, o nome do banco de dados, nome
de usuário e senha do banco e as opções extras caso deseje.
PREPARANDO A QUERY
• ->prepare();
• Realiza uma validação da query informada. Caso a query não
seja válida, será retornado false. Caso contrário, o objeto
PDOStatement será retornado para que a query seja executada.
RETORNANDO OS DADOS
• ->fetchAll(): retorna todos os registros obtidos
• ->fetch(): retorna apenas o primeiro registro obtido
• Formas de retorno:
• PDO::FETCH_ASSOC, PDO::FETCH_BOTH, PDO::FETCH_BOUND,
PDO::FETCH_CLASS, PDO::FETCH_INTO, PDO::FETCH_LAZY,
PDO::FETCH_NAMED, PDO::FETCH_NUM, PDO::FETCH_OBJ,
PDO::FETCH_PROPS_LATE
FECHANDO O CURSOR
• ->closeCursor();
• Possibilita a execução de uma nova query na mesma conexão
com o banco
• Ex: realizar um cadastro e fazer a sua seleção em seguida
ENCERRANDO A CONEXÃO COM O BANCO
• A conexão permanecerá ativa enquanto o objeto de conexão
estiver em uso. Ao encerrar, o PHP encerra a conexão
automaticamente.
• Se preferir, é possível destruir o objeto atribuindo o valor NULL
a ele
VINCULAÇÃO DE VALOR AO PARÂMETRO
• ->bindValue(...,...,...);
• Os parâmetros na query podem ser nomedos (‘:name’) ou não
(‘?’).
• Na utilização de (‘?’) os parâmetros deverão ser numerados.
• Constantes:
• PDO::PARAM_BOOL, PDO::PARAM_NULL, PDO::PARAM_INT,
PDO::PARAM_STR, PDO::PARAM_LOB, e outras 67 constantes.
RETORNANDO O ID DO ULTIMO REGISTRO
INSERIDO
• ->lastInsertId();
• Função deve vir após o execute();
TRABALHANDO COM INNER JHOIN
• Basta aplicar as técnicas aprendidas até agora.
UTILIZANDO PDO COM AS CLASSES
GDG SUL FLUMINENSE
• Google+: https://plus.google.com/102014886202826171598
• Facebook: https://www.facebook.com/gdgsulfluminense/
IGOR LOPES
• LinkedIn: https://www.linkedin.com/in/igor-lopes/
• Site Boa Refeição: http://www.boarefeicao.com.br/
BIBLIOGRAFIA
• http://php.net/manual/pt_BR/book.pdo.php
• http://php.net/manual/pt_BR/intro.pdo.php
• http://php.net/manual/en/pdo.drivers.php
• http://php.net/manual/pt_BR/class.pdo.php
• http://php.net/manual/pt_BR/pdo.prepare.php
• http://php.net/manual/pt_BR/pdostatement.execute.php
• http://php.net/manual/en/pdostatement.fetch.php
• http://php.net/manual/pt_BR/pdostatement.closecursor.php
• http://php.net/manual/en/pdo.connections.php
• http://php.net/manual/en/pdostatement.bindvalue.php
• http://php.net/manual/en/pdo.constants.php
• http://php.net/manual/en/pdo.lastinsertid.php

Mais conteúdo relacionado

PPT
Palestra MongoDB
PPTX
Desenvolvimento de aplicações PHP com MongoDB
PDF
PHPMongoDB
PPTX
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
PDF
Post exploitation com análise de dump de memória
PPT
Desenvolvendo soluções com banco de dados não relacional - MongoDB
PPTX
O novo protocolo http 2.0: uma revolução na Internet?
Palestra MongoDB
Desenvolvimento de aplicações PHP com MongoDB
PHPMongoDB
PDO: TRABALHANDO COM BANCO DO JEITO CERTO
Post exploitation com análise de dump de memória
Desenvolvendo soluções com banco de dados não relacional - MongoDB
O novo protocolo http 2.0: uma revolução na Internet?

Mais procurados (18)

PDF
Curso mongo db com php
PPTX
Node JS - Parte 2
PPTX
Aula de Node
PDF
Aula03 PHP - Estruturas Condicionais
PDF
PHP Aula 06 - Include, Require e Querystring
PPTX
FSSS.py
PPTX
Files’’ c
PDF
Protocolos de comunicação HTTP
ODP
Prog web 07-pdo
PDF
Http 2.0
PDF
PHP e a (in)segurança de aplicações
PDF
Cacheamento Lado Servidor
PDF
Cakephp 3.0 o bolo ainda serve muita gente
PPTX
Nova Infraestrutura JSON: System.JSON na prática
PDF
Web 2.0 e AJAX - Parte 2 / 3
PDF
Breve história do javascript modularizado
PPTX
MongoDB: Uma forma diferente de pensar no desenvolvimento
ODP
BigData - ElasticSearch + PHP
Curso mongo db com php
Node JS - Parte 2
Aula de Node
Aula03 PHP - Estruturas Condicionais
PHP Aula 06 - Include, Require e Querystring
FSSS.py
Files’’ c
Protocolos de comunicação HTTP
Prog web 07-pdo
Http 2.0
PHP e a (in)segurança de aplicações
Cacheamento Lado Servidor
Cakephp 3.0 o bolo ainda serve muita gente
Nova Infraestrutura JSON: System.JSON na prática
Web 2.0 e AJAX - Parte 2 / 3
Breve história do javascript modularizado
MongoDB: Uma forma diferente de pensar no desenvolvimento
BigData - ElasticSearch + PHP
Anúncio

Semelhante a Conexões eficientes em banco de dados com PHP (20)

PDF
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
PDF
REST Web Services com Java
PDF
noSQL com CouchDb e PHP
PDF
Rest web services com Java
PPTX
Fundamentos da Programação PHP OO - Aula 3
PPTX
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
PPT
Cakephp - framework de desenvolvimento de aplicações Web em PHP
PDF
Diapositivos práticos - Integração de Sistemas.pdf
PDF
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
KEY
Orientação a Objetos com PHP
PDF
Otimizacao de websites em PHP
PDF
Desenvolvimento de Software I - USBWEBSERVER - PHP
PPT
Mongo Db - PHP Day Workshop
PDF
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
PDF
Primeiros passos com a API do Zabbix
PDF
14-programacao-bd-Object Relational Mapper.pdf
PDF
Abstração do banco de dados com PHP Doctrine
PDF
Servidor de Aplicação Web: CherryPy - Python
KEY
MongoDB - Apresentação
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
REST Web Services com Java
noSQL com CouchDb e PHP
Rest web services com Java
Fundamentos da Programação PHP OO - Aula 3
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Diapositivos práticos - Integração de Sistemas.pdf
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Orientação a Objetos com PHP
Otimizacao de websites em PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
Mongo Db - PHP Day Workshop
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
Primeiros passos com a API do Zabbix
14-programacao-bd-Object Relational Mapper.pdf
Abstração do banco de dados com PHP Doctrine
Servidor de Aplicação Web: CherryPy - Python
MongoDB - Apresentação
Anúncio

Último (8)

PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Arquitetura de computadores - Memórias Secundárias
Manejo integrado de pragas na cultura do algodão
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Mecânico de Manutenção de Equipamentos.pptx
Viasol Energia Solar -Soluções para geração e economia de energia

Conexões eficientes em banco de dados com PHP

  • 1. CONEXÕES EFICIENTES EM BANCO DE DADOS COM PHP IGOR LOPES – GDG SUL FLUMINENSE
  • 3. O QUE É O GDG
  • 5. O QUE É O PDO? • PDO: PHP Data Objects. • Interface leve e consistente para acessar bancos de dados em PHP. • As funções são as mesmas para cada banco suportado. • Disponível a partir do PHP 5.1
  • 6. PDO X MYSQLI PDO • Suporta 12 bancos de dados • API orientada o objetos • Suporta parâmetros nomeados • É mais seguro MYSQLI • Suporta 1 banco de dado • API orientada o objetos e procedural • Não suporta parâmetros nomeados • É mais vulnerável
  • 7. CONECTANDO AO BANCO • $variavel = new PDO(...); • Realiza a conexão com o banco de dados desejado ao informar o drive do banco desejado, o nome do banco de dados, nome de usuário e senha do banco e as opções extras caso deseje.
  • 8. PREPARANDO A QUERY • ->prepare(); • Realiza uma validação da query informada. Caso a query não seja válida, será retornado false. Caso contrário, o objeto PDOStatement será retornado para que a query seja executada.
  • 9. RETORNANDO OS DADOS • ->fetchAll(): retorna todos os registros obtidos • ->fetch(): retorna apenas o primeiro registro obtido • Formas de retorno: • PDO::FETCH_ASSOC, PDO::FETCH_BOTH, PDO::FETCH_BOUND, PDO::FETCH_CLASS, PDO::FETCH_INTO, PDO::FETCH_LAZY, PDO::FETCH_NAMED, PDO::FETCH_NUM, PDO::FETCH_OBJ, PDO::FETCH_PROPS_LATE
  • 10. FECHANDO O CURSOR • ->closeCursor(); • Possibilita a execução de uma nova query na mesma conexão com o banco • Ex: realizar um cadastro e fazer a sua seleção em seguida
  • 11. ENCERRANDO A CONEXÃO COM O BANCO • A conexão permanecerá ativa enquanto o objeto de conexão estiver em uso. Ao encerrar, o PHP encerra a conexão automaticamente. • Se preferir, é possível destruir o objeto atribuindo o valor NULL a ele
  • 12. VINCULAÇÃO DE VALOR AO PARÂMETRO • ->bindValue(...,...,...); • Os parâmetros na query podem ser nomedos (‘:name’) ou não (‘?’). • Na utilização de (‘?’) os parâmetros deverão ser numerados. • Constantes: • PDO::PARAM_BOOL, PDO::PARAM_NULL, PDO::PARAM_INT, PDO::PARAM_STR, PDO::PARAM_LOB, e outras 67 constantes.
  • 13. RETORNANDO O ID DO ULTIMO REGISTRO INSERIDO • ->lastInsertId(); • Função deve vir após o execute();
  • 14. TRABALHANDO COM INNER JHOIN • Basta aplicar as técnicas aprendidas até agora.
  • 15. UTILIZANDO PDO COM AS CLASSES
  • 16. GDG SUL FLUMINENSE • Google+: https://plus.google.com/102014886202826171598 • Facebook: https://www.facebook.com/gdgsulfluminense/
  • 17. IGOR LOPES • LinkedIn: https://www.linkedin.com/in/igor-lopes/ • Site Boa Refeição: http://www.boarefeicao.com.br/
  • 18. BIBLIOGRAFIA • http://php.net/manual/pt_BR/book.pdo.php • http://php.net/manual/pt_BR/intro.pdo.php • http://php.net/manual/en/pdo.drivers.php • http://php.net/manual/pt_BR/class.pdo.php • http://php.net/manual/pt_BR/pdo.prepare.php • http://php.net/manual/pt_BR/pdostatement.execute.php • http://php.net/manual/en/pdostatement.fetch.php • http://php.net/manual/pt_BR/pdostatement.closecursor.php • http://php.net/manual/en/pdo.connections.php • http://php.net/manual/en/pdostatement.bindvalue.php • http://php.net/manual/en/pdo.constants.php • http://php.net/manual/en/pdo.lastinsertid.php