Utilizando PDO no PHP


Trabalhar com dados no PHP da mesma forma que é simples pode representar um perigo em potencial, pois desenvolvedores descuidados podem permitir caracteres mal formados ou ainda permitir que o seu script PHP execute código malicioso gerando grandes complicadores.

Um recurso relativamente novo que é implementar a partir do PHP 5 é o PDO. Além de ser orientado a objetos, o PDO trás mais segurança ao seu script PHP, pois a sua própria implementação já cuida de diversos riscos a segurança no quesito manipulação de dados.

Agora o principal: manipulado dados utilizando o PDO é muito simples e resume diversos problemas a uma única solução, ou seja, seu próprio uso.

Segue abaixo alguns exemplos de código PHP utilizando PDO para acesso e manipulação de dados:

  • Conexão ao banco de dados:
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco',  'username','password');
  • Retornar um registro baseado em um parâmetro:
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco',  'username','password');>
$dados_do_cliente = $banco->query('SELECT * FROM clientes WHERE  id = 1')->fetch();
  • Retornando vários registros:
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco',  'username','password');
$filtros = array(
 'nome'=>'João',
 'departamento'=>'TI',
 'unidade'=>'Jabaquara',
$consulta = $banco->query('SELECT * FROM clientes WHERE nome =  :nome AND departamento = :departamento AND unidade = :unidade')
$clientes_pelo_filtro = $consulta->execute($filtros);
  • Incluindo dados:
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco',  'username','password');
$novo_cliente =  array('nome'=>'José','departamento'=>'TI','unidade'=>'Paulista');
$banco->prepare('INSERT INTO clientes  (nome,departamento,unidade) VALUES  (:nome,:departamento,:unidade)')->execute($novo_cliente);
  • Incluindo vários dados simultaneamente:
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco',  'username','password');
$varios_clientes = array(
0=>array('nome'=>'José','departamento'=>'TI','unidade'=>'Paulista'),
1=>array('nome'=>'Marcos','departamento'=>'Infra','unidade'=>'Jabaquara'),
2=>array('nome'=>'Paulo','departamento'=>'Serviços,'unidade'=>'Bom  Retiro')
);
$inserir = $banco->prepare('INSERT INTO clientes  (nome,departamento,unidade) VALUES (:nome,:departamento,:unidade)');
foreach ($varios_clientes as $cliente)  $inserir->execute($cliente);
  • Iterando os dados em loop:
$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco',  'username','password');
foreach ($banco->query('SELECT * FROM clientes') as $cliente) {
 print_r($cliente);

Simples, fácil e rápido.

Fonte: Acordapraweb

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.