SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
APLICAÇÕES MULTI BANCO DE
  DADOS COM PHP E PDO




            PHP Orientado ao Objeto
                     Base de Dados
                        Classe PDO
BOM DIA !!
QUEM ÉS TU ?
 Programador PHP / JAVA
 Web Designer

 PPTO Sênior da Web no Break
        http://webnobreak.com.br

   Formado em Comunicação Social
        - Rádio e TV (UMC - 2005)




Bartolomeu Spegiorin Gusella
1 – PROGRAMAÇÃO ORIENTADA A OBJETOS


 $objeto = new Classe();
 $objeto -> metodo();

 $objeto -> atributo;



 Classe::metodoEstatico();
 Classe::atributoEstatico;
BASE DE DADOS
  OPEN SOURCE
 MySQL

 PostGree

 FireBird / InterBase

 SQLite



      Outros...
 Oracle

 MS SQL Server
2-PADRÃO ANSI E SQL
SQL - Structured English Query Language (SEQUEL)
ANSI - American National Standards Institute
       SQL-86, ISSO-87, SQL-89, SQL-92, SQL:1999, SQL:2003


 select * from tabela where cod=1
 insert into tabela („nome‟, „idade‟) value („bart‟,27) ,
  („thallita‟, 21)
 delete from tabela where cod=7;

 update tabela set idade=15 where cod=1
SEGUEM O PADRÃO SQL
   Apache Derby
   Caché
   DB2
   Firebird
   HSQLDB (banco de dados implementado em Java)
   IDMS (banco de dados hierárquico)
   IMS (banco de dados hierárquico)
   Informix
   Ingres
   InterBase
   Microsoft Access
   Microsoft SQL Server
   MySQL
   Oracle
   PointBase Micro (banco de dados relacional implementado em Java)
   PostgreSQL
   SQLite
   LiteBase Mobile (dedicado à plataformas móveis) como: Palm OS, Pocket PC, Symbian)
   Sybase Adaptive Server Enterprise
   Teradata
O QUE É PDO?
   PHP Data Objects (Objeto de Dados PHP)

 JAVA -> JDBC
 PERL -> DBI
POR QUE USAR PDO ?!?
 MySQL extensões
 MySQLi extensões

 PDO -> MySQL




 Aplicativo
“Felizes Para Sempre”
EXEMPLO:
   JOOMLA
       librariesjoomladatabasedatabase

     mysql.php
     mysqli.php
MYSQLI -> OVERVIEW




   Fonte php.net
QUAL BANCO DE DADOS O PDO SUPORTA?

 <?php
 phpinfo();

 ?>
QUAL BANCO DE DADOS O PDO SUPORTA?


 <?php
 foreach(PDO::getAvailableDrivers() as $driver)

{

    echo $driver.'<br />';
}

 ?>



      *(Instaladores)
INSTALANDO DRIVER DO PDO
          PHP.INI
   //linux
   extension=pdo.so
   extension=pdo_mysql.so
   extension=pdo_pgsql.so
   extension=pdo_sqlite.so

   //windows
   extension=php_pdo.dll
   extension=php_pdo_mysql.dll
   extension=php_pdo_pgsql.dll
   extension=php_pdo_sqlite.dll
INICIANDO O PDO
   MySQL
   $conn = new
    PDO('mysql:host=localhost;port=3306;dbname=leomoreira',
    $user, $pass);

   PostGree
   $conn = new PDO( 'pgsql:dbname=test host=localhost', $user,
    $pass);

   FireBird / InterBase
   $conn = new PDO( 'firebird:dbname=DATABASE.GDE', $user,
    $pass);

   Oracle
   $conn = new PDO( 'oci:dbname=mydb', $user, $pass);
INSERINDO DADOS

   try{
      $conn = new
       PDO('mysql:host=localhost;port=3306;dbname=
       bd_bart', $user, $pass);
      $conn->exec("INSERT INTO tabela (nome,
       idade) VALUES (‘bart’, 26)”);
      $conn = null;
   }catch (PDOException $i){
      print "Erro: <code>" . $i->getMessage() .
       "</code>";
   }
INSERINDO COM STATEMENT
 $con = new
  PDO('mysql:host=localhost;dbname=test', $user,
  $pass);
 $stmt = $con->prepare("INSERT INTO usuarios
  (id, nome) VALUES (:id, :nome)");



 $stmt->bindParam(':nome', $nome,
  PDO::PARAM_STR, 100);
 $stmt->bindParam(':id', $id, PDO::PARAM_INT,
  15);
COMPARTILHEM CONHECIMENTO
 GO-PHP
 GO-JAVA
 DEBIAN-GO




                       http://bart.net.br
                          *(em manutenção)


                 ccbarto@hotmail.com.br
                        bart@bart.net.br
OBRIGADO PELA ATENÇÃO E BOM 8° FGSL !
SEGURANÇA
 Cross Script
 SQL Injection

 Exibição de Erros

Contenu connexe

Tendances

PDO - PHP Data Object
PDO - PHP Data ObjectPDO - PHP Data Object
PDO - PHP Data Objectpablolimajp
 
Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppetpericles_junior
 
Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCAntonio Passos
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]João Augusto
 
Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Fabrízio Mello
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSamyr Abdo
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosRegis Magalhães
 
pgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLpgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLelliando dias
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkMarcelo Rodrigo
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connectionRoberson Alves
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCLuiz Ricardo Silva
 
Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação WebDalton Martins
 

Tendances (19)

PDO - PHP Data Object
PDO - PHP Data ObjectPDO - PHP Data Object
PDO - PHP Data Object
 
Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppet
 
Manipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBCManipulando Bancos de Dados com JDBC
Manipulando Bancos de Dados com JDBC
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
 
Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010Oficina postgresql basico_consegi2010
Oficina postgresql basico_consegi2010
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr Abdo
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies Cabecalhos
 
Dinamizando Sites Estáticos
Dinamizando Sites EstáticosDinamizando Sites Estáticos
Dinamizando Sites Estáticos
 
pgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQLpgBouncer: um aglomerador de conexões para PostgreSQL
pgBouncer: um aglomerador de conexões para PostgreSQL
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
JDBC
JDBCJDBC
JDBC
 
Kernel driver
Kernel driverKernel driver
Kernel driver
 
Introdução ao Redis
Introdução ao RedisIntrodução ao Redis
Introdução ao Redis
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connection
 
Aula 2
Aula 2Aula 2
Aula 2
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
 
Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação Web
 

En vedette

En vedette (9)

Día recreativo en comfandi lina
Día recreativo en comfandi linaDía recreativo en comfandi lina
Día recreativo en comfandi lina
 
Mascotas concurso
Mascotas concursoMascotas concurso
Mascotas concurso
 
Portafolio tics usach 2 2011
Portafolio tics usach 2  2011Portafolio tics usach 2  2011
Portafolio tics usach 2 2011
 
Caja parrafo
Caja parrafoCaja parrafo
Caja parrafo
 
Día del amor y la amistad !! lina
Día del amor y la amistad !! linaDía del amor y la amistad !! lina
Día del amor y la amistad !! lina
 
Lavozdelcorazon
LavozdelcorazonLavozdelcorazon
Lavozdelcorazon
 
Día del maestro lina
Día del maestro linaDía del maestro lina
Día del maestro lina
 
Lavozdelcorazon
LavozdelcorazonLavozdelcorazon
Lavozdelcorazon
 
邱桂英(蓮花)
邱桂英(蓮花)邱桂英(蓮花)
邱桂英(蓮花)
 

Similaire à Pdo do PHP Palestra

Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBAri Stopassola Junior
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dadosHenrique Fernandes
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e SphinxElton Minetto
 
Você não deveria escrever uma API para isso
Você não deveria escrever uma API para issoVocê não deveria escrever uma API para isso
Você não deveria escrever uma API para issoJunior Conte
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Michael Castillo Granados
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdoJorge Luís Gregório
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Fabrízio Mello
 
Apache NiFi com postgresql
Apache NiFi com postgresqlApache NiFi com postgresql
Apache NiFi com postgresqlGerdan Santos
 
Apache NiFi com PostgreSQL - PGConf.Brasil 2018
Apache NiFi com PostgreSQL - PGConf.Brasil 2018Apache NiFi com PostgreSQL - PGConf.Brasil 2018
Apache NiFi com PostgreSQL - PGConf.Brasil 2018Davy Alvarenga Machado
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super heroElton Minetto
 

Similaire à Pdo do PHP Palestra (20)

Palestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDOPalestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDO
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e Sphinx
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Você não deveria escrever uma API para isso
Você não deveria escrever uma API para issoVocê não deveria escrever uma API para isso
Você não deveria escrever uma API para isso
 
Mongo + php
Mongo + phpMongo + php
Mongo + php
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Doctrine for Dummies
Doctrine for DummiesDoctrine for Dummies
Doctrine for Dummies
 
Dev Ext PHP
Dev Ext PHPDev Ext PHP
Dev Ext PHP
 
Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012Oficina PostgreSQL Básico Latinoware 2012
Oficina PostgreSQL Básico Latinoware 2012
 
Apache NiFi com postgresql
Apache NiFi com postgresqlApache NiFi com postgresql
Apache NiFi com postgresql
 
Apache NiFi com PostgreSQL - PGConf.Brasil 2018
Apache NiFi com PostgreSQL - PGConf.Brasil 2018Apache NiFi com PostgreSQL - PGConf.Brasil 2018
Apache NiFi com PostgreSQL - PGConf.Brasil 2018
 
Palestra de PDO
Palestra de PDOPalestra de PDO
Palestra de PDO
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super hero
 

Pdo do PHP Palestra

  • 1. APLICAÇÕES MULTI BANCO DE DADOS COM PHP E PDO PHP Orientado ao Objeto Base de Dados Classe PDO
  • 3.
  • 4. QUEM ÉS TU ?  Programador PHP / JAVA  Web Designer  PPTO Sênior da Web no Break http://webnobreak.com.br  Formado em Comunicação Social - Rádio e TV (UMC - 2005) Bartolomeu Spegiorin Gusella
  • 5. 1 – PROGRAMAÇÃO ORIENTADA A OBJETOS  $objeto = new Classe();  $objeto -> metodo();  $objeto -> atributo;  Classe::metodoEstatico();  Classe::atributoEstatico;
  • 6. BASE DE DADOS OPEN SOURCE  MySQL  PostGree  FireBird / InterBase  SQLite Outros...  Oracle  MS SQL Server
  • 7. 2-PADRÃO ANSI E SQL SQL - Structured English Query Language (SEQUEL) ANSI - American National Standards Institute SQL-86, ISSO-87, SQL-89, SQL-92, SQL:1999, SQL:2003  select * from tabela where cod=1  insert into tabela („nome‟, „idade‟) value („bart‟,27) , („thallita‟, 21)  delete from tabela where cod=7;  update tabela set idade=15 where cod=1
  • 8. SEGUEM O PADRÃO SQL  Apache Derby  Caché  DB2  Firebird  HSQLDB (banco de dados implementado em Java)  IDMS (banco de dados hierárquico)  IMS (banco de dados hierárquico)  Informix  Ingres  InterBase  Microsoft Access  Microsoft SQL Server  MySQL  Oracle  PointBase Micro (banco de dados relacional implementado em Java)  PostgreSQL  SQLite  LiteBase Mobile (dedicado à plataformas móveis) como: Palm OS, Pocket PC, Symbian)  Sybase Adaptive Server Enterprise  Teradata
  • 9. O QUE É PDO?  PHP Data Objects (Objeto de Dados PHP)  JAVA -> JDBC  PERL -> DBI
  • 10. POR QUE USAR PDO ?!?  MySQL extensões  MySQLi extensões  PDO -> MySQL  Aplicativo “Felizes Para Sempre”
  • 11. EXEMPLO:  JOOMLA  librariesjoomladatabasedatabase  mysql.php  mysqli.php
  • 12. MYSQLI -> OVERVIEW  Fonte php.net
  • 13. QUAL BANCO DE DADOS O PDO SUPORTA?  <?php  phpinfo();  ?>
  • 14. QUAL BANCO DE DADOS O PDO SUPORTA?  <?php  foreach(PDO::getAvailableDrivers() as $driver) {  echo $driver.'<br />'; }  ?> *(Instaladores)
  • 15. INSTALANDO DRIVER DO PDO PHP.INI  //linux  extension=pdo.so  extension=pdo_mysql.so  extension=pdo_pgsql.so  extension=pdo_sqlite.so  //windows  extension=php_pdo.dll  extension=php_pdo_mysql.dll  extension=php_pdo_pgsql.dll  extension=php_pdo_sqlite.dll
  • 16. INICIANDO O PDO  MySQL  $conn = new PDO('mysql:host=localhost;port=3306;dbname=leomoreira', $user, $pass);  PostGree  $conn = new PDO( 'pgsql:dbname=test host=localhost', $user, $pass);  FireBird / InterBase  $conn = new PDO( 'firebird:dbname=DATABASE.GDE', $user, $pass);  Oracle  $conn = new PDO( 'oci:dbname=mydb', $user, $pass);
  • 17. INSERINDO DADOS  try{  $conn = new PDO('mysql:host=localhost;port=3306;dbname= bd_bart', $user, $pass);  $conn->exec("INSERT INTO tabela (nome, idade) VALUES (‘bart’, 26)”);  $conn = null;  }catch (PDOException $i){  print "Erro: <code>" . $i->getMessage() . "</code>";  }
  • 18. INSERINDO COM STATEMENT  $con = new PDO('mysql:host=localhost;dbname=test', $user, $pass);  $stmt = $con->prepare("INSERT INTO usuarios (id, nome) VALUES (:id, :nome)");  $stmt->bindParam(':nome', $nome, PDO::PARAM_STR, 100);  $stmt->bindParam(':id', $id, PDO::PARAM_INT, 15);
  • 19. COMPARTILHEM CONHECIMENTO  GO-PHP  GO-JAVA  DEBIAN-GO http://bart.net.br *(em manutenção) ccbarto@hotmail.com.br bart@bart.net.br
  • 20. OBRIGADO PELA ATENÇÃO E BOM 8° FGSL !
  • 21. SEGURANÇA  Cross Script  SQL Injection  Exibição de Erros