Pdo do PHP Palestra

21
APLICAÇÕES MULTI BANCO DE DADOS COM PHP E PDO PHP Orientado ao Objeto Base de Dados Classe PDO

Transcript of Pdo do PHP Palestra

Page 1: Pdo do PHP Palestra

APLICAÇÕES MULTI BANCO DE

DADOS COM PHP E PDO

PHP Orientado ao Objeto

Base de Dados

Classe PDO

Page 2: Pdo do PHP Palestra

BOM DIA !!

Page 3: Pdo do PHP Palestra
Page 4: Pdo do PHP Palestra

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

Page 5: Pdo do PHP Palestra

1 – PROGRAMAÇÃO ORIENTADA A OBJETOS

$objeto = new Classe();

$objeto -> metodo();

$objeto -> atributo;

Classe::metodoEstatico();

Classe::atributoEstatico;

Page 6: Pdo do PHP Palestra

BASE DE DADOS

OPEN SOURCE

MySQL

PostGree

FireBird / InterBase

SQLite

Outros...

Oracle

MS SQL Server

Page 7: Pdo do PHP Palestra

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

Page 8: Pdo do PHP Palestra

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

Page 9: Pdo do PHP Palestra

O QUE É PDO?

PHP Data Objects (Objeto de Dados PHP)

JAVA -> JDBC

PERL -> DBI

Page 10: Pdo do PHP Palestra

POR QUE USAR PDO ?!?

MySQL extensões

MySQLi extensões

PDO -> MySQL

Aplicativo

“Felizes Para Sempre”

Page 11: Pdo do PHP Palestra

EXEMPLO:

JOOMLA

libraries\joomla\database\database

mysql.php

mysqli.php

Page 12: Pdo do PHP Palestra

MYSQLI -> OVERVIEW

Fonte php.net

Page 13: Pdo do PHP Palestra

QUAL BANCO DE DADOS O PDO SUPORTA?

<?php

phpinfo();

?>

Page 14: Pdo do PHP Palestra

<?php

foreach(PDO::getAvailableDrivers() as $driver)

{

echo $driver.'<br />';

}

?>

*(Instaladores)

QUAL BANCO DE DADOS O PDO SUPORTA?

Page 15: Pdo do PHP Palestra

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

Page 16: Pdo do PHP Palestra

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);

Page 17: Pdo do PHP Palestra

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>";

}

Page 18: Pdo do PHP Palestra

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);

Page 19: Pdo do PHP Palestra

COMPARTILHEM CONHECIMENTO

GO-PHP

GO-JAVA

DEBIAN-GO

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

[email protected]

[email protected]

Page 20: Pdo do PHP Palestra

OBRIGADO PELA ATENÇÃO E BOM 8° FGSL !

Page 21: Pdo do PHP Palestra

SEGURANÇA

Cross Script

SQL Injection

Exibição de Erros