Pdo do PHP Palestra
Transcript of Pdo do PHP Palestra
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
libraries\joomla\database\database
mysql.php
mysqli.php
MYSQLI -> OVERVIEW
Fonte php.net
QUAL BANCO DE DADOS O PDO SUPORTA?
<?php
phpinfo();
?>
<?php
foreach(PDO::getAvailableDrivers() as $driver)
{
echo $driver.'<br />';
}
?>
*(Instaladores)
QUAL BANCO DE DADOS O PDO SUPORTA?
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)
OBRIGADO PELA ATENÇÃO E BOM 8° FGSL !
SEGURANÇA
Cross Script
SQL Injection
Exibição de Erros