Extensão MySQL vs MySQLi
O MySQL é um popular Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS). É um DBMS de código aberto que é amplamente utilizado, mesmo em empresas de grande porte, como Wikipedia, Google e Facebook. PHP (sigla para PHP: Hypertext Preprocessor) é uma linguagem de script do servidor, especialmente adequada para o desenvolvimento de páginas da web dinâmicas e interativas. MySQL e MySQLi são duas extensões fornecidas para a interação de aplicativos PHP com bancos de dados MySQL. Essas duas extensões são implementadas usando a estrutura de extensão PHP e fornecem uma API (Application Programming Interface) para os programadores PHP interagirem com os bancos de dados MySQL.
O que é a extensão MySQL?
A extensão MySQL é a primeira extensão fornecida para o desenvolvimento de aplicativos PHP, que podem ser usados para interagir com bancos de dados MySQL. Isso fornece uma interface de procedimento para os programadores PHP interagirem com os bancos de dados MySQL. Esta extensão destina-se a ser usada apenas com versões do MySQL anteriores à versão 4.1.3. Mesmo que isso possa ser usado com o MySQL versão 4.1.3 ou mais recente, qualquer um dos novos recursos nessas versões não estará disponível. Atualmente, não há desenvolvimentos ativos acontecendo na extensão MySQL e isso não é recomendado para novos projetos. Além disso, a extensão MySQL não suporta instruções preparadas no lado do servidor ou instruções preparadas no lado do cliente. Ele também não suporta procedimentos armazenados ou Charsets.
O que é a extensão MySQLi?
A extensão MySQLi (também chamada de extensão aprimorada do MySQL) é a nova extensão fornecida para o desenvolvimento de aplicativos PHP que podem interagir com os bancos de dados MySQL. Esta extensão foi desenvolvida para obter o máximo uso dos recursos disponíveis no MySQL versão 4.1.3 ou mais recente. O MySQLi Extension é primeiramente incorporado ao PHP versão 5 e incluído em todas as versões posteriores. Além de fornecer uma interface procedural para programadores PHP, o MySQLi Extension também fornece uma interface orientada a objetos. Isso também fornece suporte para instruções preparadas do lado do cliente / servidor e várias instruções. Além disso, suporta Charsets e procedimentos armazenados.
Qual é a diferença entre MySQL e MySQLi Extension?
Embora o MySQL Extension e o MySQLi Extension sejam extensões fornecidas para o desenvolvimento de aplicativos PHP que podem interagir com os bancos de dados MySQL, o MySQLi Extension possui alguns aprimoramentos importantes em relação à extensão MySQL. Primeiramente, recomenda-se o uso da extensão MySQL com versões anteriores ao 4.1.3, enquanto a extensão MySQLi é recomendada com versões 4.1.3 ou mais recentes do MySQL. Além disso, o MySQLi Extension é incorporado apenas ao PHP 5 ou versões posteriores. O MySQL Extension fornece apenas uma interface procedural para os programadores PHP, enquanto o MySQLi Extension fornece uma interface orientada a objetos (além da interface procedural). Além disso, o MySQLi Extension fornece suporte para instruções preparadas e várias instruções, que não eram suportadas na extensão MySQL. O MySQLi Extension fornece recursos aprimorados de depuração quando comparado ao MySQL Extension. Além disso, o MySQLi Extension fornece suporte a servidor incorporado e suporte a transações, que não estavam disponíveis no MySQL Extension. Mesmo que o MySQL Extension pudesse ser usado com o MySQL versões 4.1.3 ou mais recente, qualquer um dos novos recursos incluídos nessas versões do MySQL não estará disponível.