Tutorial php pdo | uma extenção que vem no PHP 5 para você ter um controle dos banco de dados, como por exemplo o ADODB.

The PHP Data Objects é uma extenção que vem no PHP 5 para você ter um controle dos banco de dados, como por exemplo o ADODB, em que você controla vários banco de dados somente mudando uma linha de comando. Com o PDO é a mesma coisa.

Para funcionar o PDO habilite a DLL no php.ini exemplo:

extension=php_pdo.dll

E para o banco que for usar:

extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

Bem, vamos lá!

Como conectamos ao um banco de dados pelo PDO?

Para conectar ao banco de dados você tem que ter essa linha:

$pdo = new PDO(“tipo_de_banco_de_dados; dbname=nome_do_banco_de_dados”, “usuario”, “senha”);

Com isso você já vai se conectar ao banco de dados: segue a lista para como se conectar ao bancos suportados:

PDO_DBLIB:

sybase:host=localhost; dbname=testdb

mssql:host=localhost; dbname=testdb

PDO_FIREBIRD:

firebird:User=john;Password=mypass;Database=DATABASE.GDE;DataSource=localhost;Port=3050

PDO_MYSQL:

mysql:host=localhost;dbname=testdb

PDO_OCI

Para conectar via tnsnames.ora, use:

oci:mydb

Se tiver usando instantclient, use:

oci:dbname=//localhost:1521/testdb

PDO_ODBC:

odbc:DSN=SAMPLE;UID=john;PWD=mypass

DSN=SAMPLE referece ao caminho patch onde está o drive ODBC manager.

PDO_PGSQL(PostGreSQL):

pgsql:host=localhost port=5432 dbname=testdb user=john password=mypass

PDO_SQLITE:

sqlite:/path/to/database

Para criar a data base na memória, use:

sqlite::memory:

Bem vamos fazer aqui uma conexão ao banco de dados MySQL:

#:: conectando ao mysql
$pdo = new PDO(“mysql:host=localhost; dbname=banco”, “usuario”, “senha”);

Depois de eu ter feito a conexão ao MySQL eu já informei qual banco ele deve fazer a pesquisa agora vamos a brincadeira…

Vamos criar uma seleção de usuário:

#:: conectando ao mysql
$pdo = new PDO(“mysql:host=localhost; dbname=banco”, “usuario”, “senha”);

#:: a variavel $pdo contem agora algumas sintexe para podermos controlar o banco de dados.
#:: vamos criar uma seleção de usuario:
$stmt = $pdo->prepare(“select * from  usuarios”); // ele prepara uma sintaze sql para ser executada com parametros e a variavel $stmt ela irá receber algumas funções extras. veja aseguir.

#:: aqui estamos executando o comando SQL que haviamos feito logo acima
$stmt->execute();

#:: apos ter feito esse comando como o nosso PDO é uma classe então essa variavel $smtmt ja contem varios resultados sobre o nosso comando
#:: agora vamos criar um laço para pegar as info do banco de dados
while ($row = $stmt->fetch()) // lembra o mysql_fetch_array() no pdo ele está sendo representado como fetch
{
$nome = $row['nome'];
echo $nome;
}

Agora nós já temos nossa primeira consulta via PDO, agora faça um teste, troque somente a primeira linha “$pdo = new PDO(“mysql:host=localhost; dbname=banco”, “usuario”, “senha”);” para outro banco de dados e você verá que ele busca da mesma maneira somente mudando essa linha com isso você pode crir sistema para vários banco de dados!

Maiores informações sobre o PDO, acesse:

http://www.php.net/pdo

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Add to favorites
  • BarraPunto
  • Bitacoras.com
  • BlinkList
  • blogmarks
  • Blogosphere News
  • blogtercimlap
  • connotea
  • Current
  • Design Float
  • Diggita
  • Diigo
  • DotNetKicks
  • DZone
  • eKudos
  • email
  • Fark
  • Faves
  • Fleck
  • FriendFeed
  • FSDaily
  • Global Grind
  • Gwar
  • HackerNews
  • Haohao
  • HealthRanker
  • HelloTxt
  • Hemidemi
  • Hyves
  • Identi.ca
  • IndianPad
  • Internetmedia
  • Kirtsy
  • laaik.it
  • LaTafanera
  • LinkaGoGo
  • LinkArena
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MisterWong
  • MisterWong.DE
  • MOB
  • MSN Reporter
  • muti
  • MyShare
  • MySpace
  • N4G
  • Netvibes
  • Netvouz
  • NewsVine
  • NuJIJ
  • PDF
  • Ping.fm
  • Posterous
  • Propeller
  • QQ书签
  • Ratimarks
  • Rec6
  • Reddit
  • RSS
  • Scoopeo
  • Segnalo
  • SheToldMe
  • Simpy
  • Slashdot
  • Socialogs
  • SphereIt
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Technorati
  • ThisNext
  • Tipd
  • Tumblr
  • Twitter
  • Upnews
  • viadeo FR
  • Webnews.de
  • Webride
  • Wikio
  • Wikio FR
  • Wikio IT
  • Wists
  • Wykop
  • Xerpi
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Yigg
  • 豆瓣
  • 豆瓣九点

1 comment

1 Paulo R D Lelis { 02.28.10 at 16:33 }

Muito, muito, mas muito bom… Parabéns!!! ;)

Leave a Comment