Palestra PHPSP+Locaweb 2014 - PDO

585 visualizações

Publicada em

Palestra que ministrei na sede da locaweb juntamente com o pessoal do PHPSP sobre PDO. Nesta palestra mostramos as utilizações básicas da classe PDO do core do php utilizando diversos tipode de bancos de dados

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
585
No SlideShare
0
A partir de incorporações
0
Número de incorporações
12
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Palestra PHPSP+Locaweb 2014 - PDO

  1. 1. O que você precisa saber sobre PDO ?
  2. 2. Rodrigo “pokemaobr” Cardoso ✓ Bacharel em Matemática Aplicada e Computacional pela ✓ Programou em ✓ Joga ✓ Evangelista @pokemaobr Quem sou eu?
  3. 3. Um amigo de um amigo meu disse que a extensão do mysql está obsoleta. (deprecated)
  4. 4. O cliente de última hora decidiu mudar o banco de dados do projeto para SQL Server.
  5. 5. O que fazer?
  6. 6. Nós temos a solução
  7. 7. P D O H P ATA B J E C T S
  8. 8. É uma extensão
  9. 9. É orientado a objetos
  10. 10. Mesmos comandos em SQL para bancos diversos
  11. 11. Menos código
  12. 12. E funciona para quais bancos?
  13. 13. E o que eu preciso?
  14. 14. PHP 5.1+
  15. 15. PHP 5.1+ SO ou DLL do PDO (PHP < 5.3)
  16. 16. PHP 5.1+ SO ou DLL do PDO (PHP < 5.3) SO ou DLL do PDO do banco
  17. 17. PDO, Ativar!
  18. 18. extension=php_pdo.so (PHP < 5.3) extension=php_pdo_firebird.so extension=php_pdo_informix.so extension=php_pdo_mssql.so extension=php_pdo_mysql.so extension=php_pdo_oci.so extension=php_pdo_oci8.so extension=php_pdo_odbc.so extension=php_pdo_pgsql.so extension=php_pdo_sqlite.so extension=php_pdo.dll (PHP < 5.3) extension=php_pdo_firebird.dll extension=php_pdo_informix.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll
  19. 19. Mas tudo isso?
  20. 20. Só ative o que for usar :)
  21. 21. Conectar em forma de mySQL! $connMysql = new PDO('mysql:host=localhost;dbname=phpsplocaweb', 'usuario', 'senha');
  22. 22. Conectar em forma de Firebird! $connFirebird= new PDO('firebird:dbname=C:/db/phpsplocaweb.gdb;host=localhost, 'usuario', 'senha');
  23. 23. Conectar em forma de SQLite! $connSqlite = new PDO('sqlite:phpsplocaweb.db');
  24. 24. E o SQL único?
  25. 25. Já está vindo...
  26. 26. INSERT com parâmetros conhecidos...
  27. 27. <?php $connMysql = new PDO('mysql:host=localhost;dbname=phpsplocaweb', 'usuario', 'senha'); $novoCliente = array('nome'=>'Roberto','idade'=>'27','loja'=>'Centro'); $connMysql->prepare('INSERT INTO clientes (nome,idade,loja) VALUES (:nome,: idade,:loja)')->execute($novoCliente);
  28. 28. INSERT com parâmetros desconhecidos...
  29. 29. <?php $connMysql = new PDO('mysql:host=localhost;dbname=phpsplocaweb', 'usuario', 'senha'); $novoCliente = array('nome'=>'Roberto','idade'=>'27','loja'=>'Centro'); $insert = $connMysql->prepare('INSERT INTO clientes (nome,idade,loja) VALUES (?, ?, ?)') $insert->bindParam(1,$novoCliente['nome']); $insert->bindParam(2,$novoCliente['idade']); $insert->bindParam(3,$novoCliente['loja']); $insert->execute();
  30. 30. Realizando um SELECT com o método “query” retornando um array
  31. 31. <?php $connMysql = new PDO('mysql:host=localhost;dbname=phpsplocaweb', 'usuario', 'senha'); $sql = 'SELECT nome, idade, loja FROM clientes ORDER BY nome'; $query = $connMysql->query($sql); foreach ($query as $row) { print $row['nome'] . "<br />"; print $row['idade'] . "<br />"; print $row['loja'] . "<br />"; }
  32. 32. Seu Retorno Amanda 16 Caxias Josué 20 Sumaré Roberto 15 Centro
  33. 33. Realizando um SELECT com o método “query” retornando um objeto
  34. 34. <?php $connMysql = new PDO('mysql:host=localhost;dbname=phpsplocaweb', 'usuario', 'senha'); $sql = 'SELECT nome, idade, loja FROM clientes ORDER BY nome'; $query = $connMysql->query($sql); while ($row = $query->fetch(PDO::FETCH_OBJ)) { print $row->nome . "<br />"; print $row->idade . "<br />"; print $row->loja . "<br />"; }
  35. 35. Seu Retorno Amanda 16 Caxias Josué 20 Sumaré Roberto 15 Centro
  36. 36. UPDATE utilizando o método “query”
  37. 37. <?php $idade = '20'; $nome = 'Angela'; $connMysql = new PDO('mysql:host=localhost;dbname=phpsplocaweb', 'usuario', 'senha'); $query = 'UPDATE clientes SET idade = :idade WHERE nome = :nome'; $update = $connMysql->prepare($query)->execute(array( ':idade' => $idade, ':nome' => $nome ));
  38. 38. DELETE utilizando os métodos “prepare” e “execute”
  39. 39. <?php $nome = 'Roberta'; $connMysql = new PDO('mysql:host=localhost;dbname=phpsplocaweb', 'usuario', 'senha'); $query = 'DELETE FROM clientes WHERE nome = :nome'; $delete = $connMysql->prepare($query); $delete->blindParam(':nome', $nome); $delete->execute();
  40. 40. E tem muito mais...
  41. 41. Dúvidas?
  42. 42. Obrigado! br.linkedin.com/in/rwdmc/ www.github.com/pokemaobr www.facebook.com/pokemaobr

×