Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Perfect Lion

Classe PDO

Recommended Posts

Trabalhando com PDO

 

Oque é PDO?

The PHP Data Objects e uma nova estenção que vem no php5 para você ter um controle dos banco de dados como exemplo o ADODB que você controla varios 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;Po

rt=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 memoria, 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 usuario

 

#:: 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 dadoswhile ($row = $stmt->fetch()) // lembra o mysql_fetch_array() no pdo ele está sendo representado como fetch{	$nome = $row['nome'];	echo $nome;}
Bem agora ja temos nossa primeira consulta via PDO.. agora fassa um teste troque somente a primeira linha "$pdo = new PDO("mysql:host=localhost; dbname=banco", "usuario", "senha");" para outro banco de dados você vera que ele busca da mesma maneira somente mudando essa linha com isso você pode crir sistema para varios banco de dados..

 

OK ta ai um mini tuto sobre a class PDO veja mais no link

 

http://br.php.net/manual/pt_BR/ref.pdo.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa erickgosteieu tava pensando em usar o adodb pq antes eu memo tava montando as classesvo da uma olhada nisso antes de "migra" haahauivaleu :) muito bom quero as outras aula ae ahuiahauia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, eu já tinha ouvido falar dessa extensão, e já tinha dado uma pesquisada sobre, mas agora ta tudo explicadinho e intendido....Eu também ouvir dizer que essa extensão já é anti sql-injection, isso é verdade?Obrigado pela aula :P!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.