18 comentários

  1. Anônimo

    Excelente, esse post aqui também é bom http://blog.glaucocustodio.com/2012/08/04/usando-pdo-do-php/

  2. Daniel Bahia

    Muito bom! Valeu meu caro, estou começando a usar o PDO a pouco tempo, e realmente poupa muito, mas muito trabalho.

  3. Philip Soares

    Excelente tutorial!
    Comecei a estudar PDO e esse artigo ajudou bastante.
    Obrigado!

  4. Julio

    Ótimo post!
    Estou iniciando em PDO e gostaria de fazer duas perguntas:
    1) Qualquer aplicação, por mais simples que seja, pode ser em PDO?
    2) E para as grades aplicações é possível fazer JOINs e grandes consultas, por exemplo, com SELECT dentro de SELECT?

    Valeu.

  5. Julio

    Opa!
    Vou me aprofundar mais neste assunto então.

    Abs!

  6. Fred

    Rafael, como deixar esses métodos de INSERT, UPDATE, DELETE e SELECT dinâmicos, ou seja, que possam ser utilizados para qualquer tabela? Passar o nome da tabela e os campos por parâmetro. Segue um exemplo de UPDATE:

    // UPDATE GENÉRICO
    function atualizar($tabela, $id, $dados) {
    // UPDATE filmes SET filme = ‘filme1′, preco = ’80’ WHERE id = 85

    $pdo = conectar();

    $sql = “UPDATE $tabela SET “;

    $filmes = new ArrayIterator($dados)
    while($filmes->valid()):
    $sql. = $filmes->key(). ” = ? ,”;
    $filmes->next;
    endwhile;

    //$sql = substr($sql, 0, -1);
    $sql2 = rtrim($sql, ‘,’);

    $sql2.= ” WHERE id = ?”;

    $atualizar = $pdo -> prepare($sql2);

    $i = 1;
    foreach($dados as $valor)
    $atualizar->bindValue($i, $valor);
    $i++;
    endforeach;

    echo $sql;

    $atualizar->bindValue($i, $id);
    $atualizar -> execute();

    }

    Gostaria de fazer para os demais métodos. Poderia me ajudar?

  7. Andre Luis de Andrade

    Cara, caiu PDO nas duas provas do TRF-4 ontem. Como é difícil lembrar de detalhes de algo que nunca se usa.. rs.. O PDO é muito importante, mas eu precisarei reformar todas as minhas queries para implementá-lo. Enfim, seja o que Deus quiser… rs.. Obrigado por este simples e direto artigo.

  8. Eduardo Alencar

    Depois de ver em vários site, este é o que melhor explica, parabéns. Só uma dúvida, na parte do código onde se utiliza o comando sql “SELECT”, na parte de consulta, caso não exista o nome no bd não está mostrando a mensagem que deveria mostrar: else { echo ‘Erro ao inserir os dados’;/*aqui a mensagem correta deveria erro ao consultar.. */ }

  9. aurelino ferreira de arruda

    um dos erros da informação é a falta de um exemplo prático – por exemplo quando informar a senha está digitado “senha” o certo seria por exemplo digitar “123456” – por exemplo – o nome também usar o nome de quem informa para exemplo –

  10. Alexandre

    Eu queria poder fazer um update através de um select mais não estou conseguindo alguem me ajuda
    exec( “INSERT logistica (`cliente_id`) SELECT id FROM cliente”);

    $db->exec(“UPDATE `starvisa`.`logistica` SET `data`=’$_POST[data]’, `saida_visito`=’$_POST[saida_visito]’ WHERE id=$_POST[test] “);

    ?>

  11. junior

    Rafael, preciso fechar as conexoes? Como fecho corretamente?

  12. Job

    Olá Rafael, muito bom o artigo. Consegui entender bem os seus exemplos, além disso, fui mais além e, com o Netbeans, desenvolvi um formulário onde os dados forma enviados para serem manipulados pelas queryes com uso do prepared statements e bind params e inseridos com sucesso no banco.
    Gostaria de, assim como os demais colegas, lhe pedir para postar algum exemplo de crude onde pudéssemos aprender e aprimorar um pouco mais os recursos do PDO.

    Valeu!

  13. Celio

    Cara estou tentando utilizar dois whiles para criar uma paginação com PDO mas não vai de jeito nenhum.
    $pesquisa_livro = $pdo->prepare(“SELECT * FROM livro_receita WHERE id_usuario = ? LIMIT $inicio,$maximo”);

    $pesquisa_livro->bindParam(1, $id_user , PDO::PARAM_STR);
    $executa = $pesquisa_livro->execute();
    while($registro_livro = $pesquisa_livro->fetch(PDO::FETCH_OBJ)){
    $livro_receita_id = $registro_livro->id_receita;

    $pesquisa_receita_livro = $pdo->prepare(“SELECT * FROM receitas WHERE id = ? LIMIT $inicio,$maximo”);
    $pesquisa_receita_livro->bindParam(1, $livro_receita_id , PDO::PARAM_STR);
    $executa = $pesquisa_receita_livro->execute();
    while($resultado_pesquisa = $pesquisa_receita_livro->fetch(PDO::FETCH_OBJ)){
    $pesquisa_titulo = $resultado_pesquisa->nome_receita;
    echo ‘$pesquisa_titulo‘;
    }}
    Não consigo recuperar os registros quando utilizo os dois whiles.
    Alguma sugestão?

Deixar um comentário