MySQLi vs PDO – qual o mais recomendado para usar?

mm

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.
mm

Nesta dica apresentamos as diferenças e vantagens na utilização de MySQLi e PDO em conexões com banco de dados MySQL com o PHP.

MySQLi:

Vantagens:

  • API Orientada a objetos e procedural;
  • Performace elevada;
  • Sintaxe relativamente mais simples (e similar a antiga API mysql_*);

Desvantagens:

  • Só funciona com bancos MySQL;
  • Não possui parâmetros nomeados;
  • Não possui prepared statements do lado cliente;

PDO:

Vantagens:

  • Funciona com 12 drivers de bancos de dados diferentes (4D, MS SQL Server, Firebird/Interbase, MySQLOracle, ODBC/DB2, PostgreSQLSQLite, Informix, IBM, CUBRID);
  • API Orientada a objetos;
  • Possui parâmetros nomeados;
  • Possui prepared statements do lado cliente (ver desvantagens abaixo)

Desvantagens:

  • Não tão veloz quanto MySQLi;
  • Por padrão, ele simula prepared statements (você pode ativar a versão nativa ao configurar a conexão dele com o banco, mas caso a versão nativa não funcione por algum motivo, ele volta a simular os prepared statements sem disparar erros ou avisos

Entre as duas opções eu dou preferência ao PDO, mesmo sendo um pouco mais lento (entre 2%-7%). Ao meu ver, o fato do PDO se comunicar com mais drivers de BDs e de possuir prepared statements, que é de grande valia quando o assunto é segurança, na minha opinião torna esta tecnologia mais interessante.

Segue outros links que fazem a comparação:

PDO vs Mysqli which should you use net

With is better Mysqli or PDO in PHP

Compartilhe.

PinIt
Top