MySQL contra MySQL contra PDO
A extensão de MySQLi (MySQL melhorado) é um excitador da base de dados relacional usado no linguagem de programação do PHP para fornecer uma relação as bases de dados de MySQL.
MySQLi é uma versão melhorada do excitador mais velho do PHP MySQL, oferecendo vários benefícios.
Os colaboradores do linguagem de programação do PHP recomendam using MySQLi ao tratar as versões 4.1.3 do usuário de MySQL e mais novo (se aproveita da funcionalidade nova).
A extensão do mysqli é incluída com versões 5 do PHP e mais atrasado.
A extensão de MySQLi fornece vários benefícios no que diz respeito a seu antecessor, o mais proeminente de que ser:
* Uma relação orientada ao objecto
* Sustentação para declarações preparadas
* Sustentação para indicações múltiplas
* Sustentação para transações
* Sustentação realçada da eliminação de erros
* Sustentação encaixada do usuário
A extensão do excitador de PDO MySQL, por exemplo, não expor um API ao programador do PHP, mas fornece uma relação à camada de PDO acima dela.
PDO fornece um API consistente para sua aplicação do PHP não obstante o tipo de usuário que de base de dados sua aplicação conetará a. Na teoria, se você está usando o PDO API, você poderia comutar o usuário que de base de dados você se usou, de dizer Firebird a MySQL, e precisá-lo somente de fazer mudanças menores a seu código do PHP.
Outros exemplos de camadas da abstração da base de dados incluem JDBC para aplicações de Java e DBI para o Perl.
PDO é tem um API limpo, simples, portátil, mas sua desvantagem principal é que não permite que você use todas as caraterísticas avançadas que estão disponíveis nas versões as mais atrasadas do usuário de MySQL. Por exemplo, PDO não permite que você use a sustentação de MySQL para indicações múltiplas.