pdo do php palestra
TRANSCRIPT
![Page 1: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/1.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/2.jpg)
BOM DIA !!
![Page 3: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/3.jpg)
![Page 4: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/4.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/5.jpg)
1 – PROGRAMAÇÃO ORIENTADA A OBJETOS
$objeto = new Classe();
$objeto -> metodo();
$objeto -> atributo;
Classe::metodoEstatico();
Classe::atributoEstatico;
![Page 6: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/6.jpg)
BASE DE DADOS
OPEN SOURCE
MySQL
PostGree
FireBird / InterBase
SQLite
Outros...
Oracle
MS SQL Server
![Page 7: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/7.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/9.jpg)
O QUE É PDO?
PHP Data Objects (Objeto de Dados PHP)
JAVA -> JDBC
PERL -> DBI
![Page 10: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/10.jpg)
POR QUE USAR PDO ?!?
MySQL extensões
MySQLi extensões
PDO -> MySQL
Aplicativo
“Felizes Para Sempre”
![Page 11: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/11.jpg)
EXEMPLO:
JOOMLA
libraries\joomla\database\database
mysql.php
mysqli.php
![Page 12: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/12.jpg)
MYSQLI -> OVERVIEW
Fonte php.net
![Page 13: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/13.jpg)
QUAL BANCO DE DADOS O PDO SUPORTA?
<?php
phpinfo();
?>
![Page 14: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/14.jpg)
<?php
foreach(PDO::getAvailableDrivers() as $driver)
{
echo $driver.'<br />';
}
?>
*(Instaladores)
QUAL BANCO DE DADOS O PDO SUPORTA?
![Page 15: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/16.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/17.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/18.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/19.jpg)
COMPARTILHEM CONHECIMENTO
GO-PHP
GO-JAVA
DEBIAN-GO
http://bart.net.br *(em manutenção)
![Page 20: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/20.jpg)
OBRIGADO PELA ATENÇÃO E BOM 8° FGSL !
![Page 21: Pdo do PHP Palestra](https://reader038.vdocuments.site/reader038/viewer/2022102614/557ab298d8b42a74488b4f2c/html5/thumbnails/21.jpg)
SEGURANÇA
Cross Script
SQL Injection
Exibição de Erros