Giihh 6 Denunciar post Postado Julho 9, 2014 Galera, Vale a pena aprender PHP e MySQL sem PDO??? Tava fazendo um simples sistema de login, acompanho um vídeo de PHP e MySQL, tudo certinho tirando os erros que dava solicitando PDO. Tenho pesquisado e entendido que PDO agora é uma "obrigação". Tem muita diferença entre PHP e MySQL "puro" para PHP/MySQL e PDO juntos? Compartilhar este post Link para o post Compartilhar em outros sites
jgustavo99 85 Denunciar post Postado Julho 9, 2014 Olá! O PDO é para fazer a conexão e consultas no Banco de Dados MYSQL, ou seja, uma forma segura de fazer ações no DB. A função mysql_connect(), apartir do PHP5, está inativa, então você terá que futuramente usar PDO ou o MYSQLI. Espero ter Ajudado ;) Compartilhar este post Link para o post Compartilhar em outros sites
William Phantom 32 Denunciar post Postado Julho 9, 2014 Bom, ele não é bem uma "obrigação", mas é uma boa por ser mais seguro, mas como isso também depende do programador :v Compartilhar este post Link para o post Compartilhar em outros sites
Giihh 6 Denunciar post Postado Julho 9, 2014 Olá! O PDO é para fazer a conexão e consultas no Banco de Dados MYSQL, ou seja, uma forma segura de fazer ações no DB. A função mysql_connect(), apartir do PHP5, está inativa, então você terá que futuramente usar PDO ou o MYSQLI. Espero ter Ajudado ;) Oi Gustavo, Muito agradecida! Sim, entendo que o PDO é utilizado para conexões com o BD. Mas para realizar a conexão e as ações, altera em alguns pontos a forma de programar no php (no que se refere ao relacionamento com o BD), ai entrou a dúvida se vale aprender php sem pdo. Compartilhar este post Link para o post Compartilhar em outros sites
paulinhosupriano 103 Denunciar post Postado Julho 9, 2014 Olá meu amigo, Usar ou não PDO? Usar ou não Framework? Usar ou não CMS? Tudo depende de você, de seu projeto e seus conhecimento. Minha recomendação seria a utilização do PDO pela segurança e facilidade de adaptação do tipo de banco de dados. O Mysql e muito utilizando na Web. Aconteceu comigo, O banco de dados de um cliente era Mysql, porem o mesmo solicitou a mudança do banco para postgresql, porem o sistema do cliente era procedural e conexão mysql, 186 paginas para modificação :D. Facilidade seria PDO: Modificaria apenas o driver de conexão no caso o DSN. Não foi eu o desenvolvedor do projeto, então tive que readaptar todo a programação mysql para pg_query. Então, o que acha? usar ou não PDO? Vale apenas sim, usar PHP sem PDO, MYSQL, PG, etc... Aprenda comando de date, upload, manuseio de string, array (importante), entre outros... Compartilhar este post Link para o post Compartilhar em outros sites
jgustavo99 85 Denunciar post Postado Julho 9, 2014 Olá! Então, seria uma opção usar PDO. Cada Programador tem sua forma de programar, com seus caminhos, suas gambiarras rsrsrs :). Eu particularmente não uso muito o PDO, porque uso o Framework Codeigniter, mas estou ciente de que precisarei usar futuramente o PDO ou MYSQL (Biblioteca de Conexão também). Espero ter Ajudado ;) Compartilhar este post Link para o post Compartilhar em outros sites
Giihh 6 Denunciar post Postado Julho 9, 2014 Olá meu amigo, Usar ou não PDO? Usar ou não Framework? Usar ou não CMS? Tudo depende de você, de seu projeto e seus conhecimento. Minha recomendação seria a utilização do PDO pela segurança e facilidade de adaptação do tipo de banco de dados. O Mysql e muito utilizando na Web. Aconteceu comigo, O banco de dados de um cliente era Mysql, porem o mesmo solicitou a mudança do banco para postgresql, porem o sistema do cliente era procedural e conexão mysql, 186 paginas para modificação :D. Facilidade seria PDO: Modificaria apenas o driver de conexão no caso o DSN. Não foi eu o desenvolvedor do projeto, então tive que readaptar todo a programação mysql para pg_query. Então, o que acha? usar ou não PDO? Vale apenas sim, usar PHP sem PDO, MYSQL, PG, etc... Aprenda comando de date, upload, manuseio de string, array (importante), entre outros... Olá Paulinho, Deus te abençoe :D Com base no seu exemplo, com certeza é importante aprender PDO. Mas compreendo que aprender isoladamente o PHP em si. ajuda a praticar e entender a linguagem. Mas me tira uma curiosidade sobre a conexão PDO rsrsrs Abaixo esta a conexão com o BD utilizando PDO: Como exemplo a página abaixo eu chamo de "conexão.php" <?php $conn = 'mysql:host=localhost;dbname=sistema'; try { $db = new PDO($conn, 'root', ''); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { if($e->getCode() == 1049){ echo "Banco de dados errado."; }else{ echo $e->getMessage(); } } ?> A variável $db recebe as informações de acesso certo? Ai qualquer página que eu quiser que faça acesso ao BD é necessario fazer um include "conexão.php" no inicio? é isso mesmo? Agora a dúvida em relação a segurança, se todo programador sabe que as informações de acesso estão no inicio da página, ou que obrigatoriamente a pagina tem que ter um include com as informações de acesso ao BD. Não é facil invadir esta conexão.php (ou o nome que tiver sido dada a página de conexão) e causar danos ao sistema? Quando vocês falam que o PDO oferece maior segurança é em qual ponto? Compartilhar este post Link para o post Compartilhar em outros sites
paulinhosupriano 103 Denunciar post Postado Julho 10, 2014 <?php $conn = 'mysql:host=localhost;dbname=sistema'; try { $db = new PDO($conn, 'root', ''); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { if($e->getCode() == 1049){ echo "Banco de dados errado."; }else{ echo $e->getMessage(); } } ?> Olá meu amigo, Fiz um pequeno select no banco onde recupera de uma tabela usuarios os seguintes dados id,nome,sobrenome onde as configuração do banco está dentro de aplicacao. ficando a estrutura: /projetopdo /aplicacao /aplicacao/conexao.php /index.php Banco de dados test Tabela usuarios Campos da Tabela [usuarios] id = primary key auto increment nome = varchar 120 sobrenome = varchar 120 ARQUIVOS /aplicacao/conexao.php <?php // CONFIGRAÇÕES DO BANCO define('HOST','localhost'); define('USUARIO','root'); define('SENHA',''); define('BANCO','test'); function conectar(){ try { $dsn = 'mysql:host='.HOST.';dbname='.BANCO; $db = new PDO($dsn, USUARIO, SENHA , array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8') ); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $db; } catch (PDOException $e) { return $e->getMessage(); } } /index.php <?php require_once("aplicacao/conexao.php"); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title>Index</title> </head> <body> <?php $pdo = conectar(); // pode ser qualquer variável não necessariamente o $pdo $DadosUsuarios = $pdo->prepare("SELECT * FROM `usuarios` "); $DadosUsuarios->execute(); if( $DadosUsuarios->rowCount() > 0 ): $ListUsuarios = $DadosUsuarios->fetchAll(PDO::FETCH_ASSOC); foreach($ListUsuarios as $listUser): printf('<h4>(%s) %s - %s </h4>', $listUser['id'], $listUser['nome'], $listUser['sobrenome'] ); endforeach; else: echo 'Ops, não existem dados para serem mostrados!'; endif; ?> </body> </html> Teste esse código.. =D Até. Compartilhar este post Link para o post Compartilhar em outros sites
André Wielki 6 Denunciar post Postado Julho 10, 2014 Use MYSQLI Compartilhar este post Link para o post Compartilhar em outros sites
Giihh 6 Denunciar post Postado Julho 10, 2014 USE MYSQLI Oi André, em relação a segurança MySQLI é melhor? Compartilhar este post Link para o post Compartilhar em outros sites
paulinhosupriano 103 Denunciar post Postado Julho 10, 2014 Recomendo o PDO, para assim, em OO seria mais interessante pela mudança de banco caso deseje. =D. você usa o mysqli e o cliente solicita a mudança para postgres então teras que mudar todo o código que tem mysqli =D, em PDO apenas o $DSN de conexão. Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Julho 10, 2014 Porque aprender MySQLi OU PDO? Pode aprender os dois! Nao sao dificeis de serem aprendidos! Porem, se voce esta iniciando em PHP e em programacao, recomendo aprender PHP e MySQLi procedural! Eu, particularmente, nao acho interessante aprender OO antes de aprender a programar de forma procedural. Se voce ja sabe programar em alguma outra linguagem, ai tudo bem, pode partir para OO. Isso eh uma opiniao minha. Um link que pode te ajudar a decidir eh: http://code.tutsplus.com/pt/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059 Eu particularmente uso PDO, pois aprendi primeiro e ja estou mais acostumado. No geral, como consta na tabela do link ai, o PDO tem uma vantagem de ser mais flexivel. Quanto a seguranca do PDO: nao va achando que PDO eh seguro e que voce pode programar despreocupadamente. O PDO te auxilia em algumas coisas, como ajudar a evitar SQL injection, mas nao eh 100%, entao, mesmo tendo um certo nivel de seguranca, um pequeno erro seu pode compometer sua base de dados. Segue uma discussao interessante: http://stackoverflow.com/questions/134099/are-pdo-prepared-statements-sufficient-to-prevent-sql-injection Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 10, 2014 De onde tiraram que usando PDO dá pra mudar o SGBD de forma fácil? Desculpe, mas isso é coisa de gente que não sabe o que está falando... PDO não é um ORM, se você utilizar um SGBD que tenha alguma especificação que não conste no novo SGBD que você vai utilizar o PDO não vai fazer a coisa funcionar "por milagre", é sempre interessante se estudar as coisas um pouco mais a fundo antes de se falar isto ou aquilo baseado apenas em um exemplo hipotético. Compartilhar este post Link para o post Compartilhar em outros sites