MySQL vs MySQLi Extension
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 (significa PHP: Hypertext Preprocessor) é uma linguagem de script do lado 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 o framework de extensão PHP e fornecem uma API (Application Programming Interface) para os programadores PHP interagirem com bancos de dados MySQL.
O que é extensão MySQL?
MySQL Extension é 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 procedural para programadores PHP interagirem com 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 no MySQL Extension e não é recomendado para novos projetos. A extensão MySQL adicional não suporta instruções preparadas do lado do servidor ou instruções preparadas do lado do cliente. Ele também não suporta procedimentos armazenados ou Charsets.
O que é extensão MySQLi?
MySQLi Extension (também chamada de extensão aprimorada do MySQL) é a nova extensão fornecida para o desenvolvimento de aplicativos PHP que podem interagir com 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. A extensão MySQLi é primeiramente incorporada ao PHP versão 5 e incluída em todas as versões posteriores. Além de fornecer uma interface procedural para programadores PHP, MySQLi Extension também fornece uma interface orientada a objetos. Isso também fornece suporte para instruções preparadas do lado cliente/servidor e várias instruções. Além disso, ele suporta Charsets e procedimentos armazenados.
Qual é a diferença entre MySQL e MySQLi Extension?
Mesmo que a extensão MySQL e a extensão MySQLi sejam extensões fornecidas para o desenvolvimento de aplicativos PHP que podem interagir com bancos de dados MySQL, a extensão MySQLi possui alguns aprimoramentos importantes em relação à extensão MySQL. Em primeiro lugar, a extensão MySQL é recomendada para ser usada com versões do MySQL anteriores à 4.1.3, enquanto a extensão MySQLi é recomendada para ser usada com versões do MySQL 4.1.3 ou mais recentes. Além disso, a extensão MySQLi é incorporada apenas com 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, a extensão MySQLi fornece suporte para instruções preparadas e várias instruções, que não eram suportadas na extensão MySQL. A extensão MySQLi fornece recursos de depuração aprimorados quando comparado com a extensão MySQL. 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 a extensão MySQL possa ser usada com as versões 4.1.3 ou mais recentes do MySQL, qualquer um dos novos recursos incluídos nessas versões do MySQL não estará disponível.