Existem (mais de) três maneiras populares de usar o MySQL do PHP. Isso descreve alguns recursos / diferenças PHP: Escolhendo uma API :
- ( DEPRECATED ) As funções do mysql são procedurais e usam escape manual.
- O MySQLi é um substituto para as funções do mysql, com versões orientadas a objetos e procedurais. Tem suporte para declarações preparadas.
- O DOP (PHP Data Objects) é uma camada geral de abstração de banco de dados com suporte para MySQL entre muitos outros bancos de dados. Ele fornece instruções preparadas e flexibilidade significativa na maneira como os dados são retornados.
Eu recomendaria o uso de DOP com declarações preparadas. É uma API bem projetada e permitirá que você mova mais facilmente para outro banco de dados (incluindo qualquer que suporte ODBC ), se necessário.
Essas são APIs diferentes para acessar um back-end do MySQL
Portanto, depende do tipo de código que você deseja produzir. Se você preferir camadas orientadas a objetos ou funções simples ...
Meu conselho seria
Também acho que a API do mysql provavelmente seria excluída em versões futuras do
PHP
.fonte
mysqli é a versão aprimorada do mysql.
A extensão PDO define uma interface leve e consistente para acessar bancos de dados em PHP. Cada driver de banco de dados que implementa a interface PDO pode expor recursos específicos do banco de dados como funções de extensão regulares.
fonte
Especificamente, a extensão MySQLi oferece os seguintes benefícios extremamente úteis sobre a antiga extensão MySQL.
Interface OOP (além de procedural) Transação de suporte a instruções preparadas + suporte a procedimentos armazenados Melhoramentos mais agradáveis na velocidade da sintaxe Depuração aprimorada
Extensão DOP
A extensão PHP Data Objects é uma camada de abstração de banco de dados. Especificamente, essa não é uma interface do MySQL, pois fornece drivers para muitos mecanismos de banco de dados (é claro, incluindo o MYSQL).
O PDO visa fornecer uma API consistente, o que significa que, quando um mecanismo de banco de dados é alterado, o código é alterado para refletir isso deve ser mínimo. Ao usar o PDO, seu código normalmente "simplesmente funciona" em muitos mecanismos de banco de dados, simplesmente alterando o driver que você está usando.
Além de ser compatível com vários bancos de dados, o PDO também suporta instruções preparadas, procedimentos armazenados e muito mais, enquanto usa o Driver MySQL.
fonte