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

Pdo do PHP Palestra

  • 1.
    APLICAÇÕES MULTI BANCODE DADOS COM PHP E PDO PHP Orientado ao Objeto Base de Dados Classe PDO
  • 2.
  • 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ÇÃOORIENTADA 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 ESQL 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ÃOSQL  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 USARPDO ?!?  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 DEDADOS O PDO SUPORTA?  <?php  phpinfo();  ?>
  • 14.
    QUAL BANCO DEDADOS O PDO SUPORTA?  <?php  foreach(PDO::getAvailableDrivers() as $driver) {  echo $driver.'<br />'; }  ?> *(Instaladores)
  • 15.
    INSTALANDO DRIVER DOPDO 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ÇÃOE BOM 8° FGSL !
  • 21.
    SEGURANÇA  Cross Script SQL Injection  Exibição de Erros