PHP

MySQLi vs PDO – qual utilizar? qual a melhor?

21 de maio de 2020

MySQLi vs PDO – qual utilizar? qual a melhor?

Neste artigo você verá qual das bibliotecas utilizar para fazer as conexões e procedimentos com o banco, o comparativo de MySQLi vs PDO

mysql vs pdo qual utilizar capa

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

 

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x