MySQLi vs PDO – qual o mais recomendado para usar?

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.

Últimos posts por Ramos de Souza Janones (exibir todos)

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