Neste artigo você verá qual das bibliotecas utilizar para fazer as conexões e procedimentos com o banco, o comparativo de MySQLi vs PDO
Fala programador(a), tudo bem? Bora aprender mais sobre PHP, MySQLi e PDO!
Sobre o MySQLi
Primeiramente é bom entender que a abordagem com MySQLi acaba sendo mais performática, por utilizar menos recursos que a PDO, como por exemplo menos drivers de bancos
Então esta vantagem deve ser levada em conta se o que você procura é performance
Além disso, sua sintaxe é mais simples e semelhante a de sua antecessora mysql_*
Isso pode ser um ponto positivo se você já está acostumado a biblioteca antiga
Um outro ponto positivo é a orientação a objetos, que é implementada em MySQLi
E também o MySQLi realiza todas as funções que o MySQL suporta, o que não é o caso do PDO, há algumas limitações
Sobre os pontos negativos podemos citar a limitação de drivers, só funciona para o banco MySQL
Não tem recursos importantes como named parameters e nem prepared statements
Sobre o PDO
Já o PDO funciona com 12 drivers diferentes, entre eles: MySQL, Oracle, PostegreSQL e SQLite
O que é legal pois provavelmente se você está trabalhando em algum projeto com BD relacional, será algum destes
Utiliza a Orientação a Objetos, assim como o MySQLi
E possui os prepared statemens, que é uma forma da consulta não ser enviada diretamente ao servidor, ela passa por uma etapa de preparação antes
Que é onde ela pode ser validada, para prevenção de SQL Injection, por exemplo
Veja um exemplo de prepared statements:
<?php $sth = $dbh->prepare('SELECT * FROM customers WHERE name = ? AND age = ?'); $sth->execute(array('Matheus', 29)); $result = $sth->fetchAll(); ?>
Primeiramente pela query os atributos que queremos buscar no WHERE são recebidos por ?, para que haja o prepare
Depois a execução recebe os parâmetros reais da query
E sobre os pontos negativos, podemos dizer que é mais lento que o MySQLi, então o outro deve ser optado quando o problema é performance
Há algumas limitações em funcionalidades que MySQL aceita e não estão implementadas pelo PDO
Conclusão
Neste artigo vimos a comparação de MySQLi vs PDO
A grande realidade é que o MySQLi é um recurso mais antigo e também mais desenvolvido, além de ter melhor performance
Já o PDO te proporciona portabilidade entre bancos e uma vantagem que é o prepared statements
Porém há espaço para os dois, diante de seus prós e contras
Então o mais correto é analisar de aplicação para aplicação e não generalizar ou escolher um deles por fanatismo
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube