Diferença entre MySQL e extensão MySQLi

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.