MySQL vs MySQLi in PHP

MySQL and MySQLi are PHP database extensions implemented by using PHP extension framework. PHP database extensions are used to write PHP code for accessing database. They expose database API to provide interfaces to use database functions.

MySQL extension is deprecated and will not be available in future PHP versions. It is recommended to use MySQLi extension with PHP 5.5 and above.


MySQL MySQLi Difference

There are too many differences between these PHP database extensions. These differences are based upon some factors like performance, library functions, features, benefits and others.

MySQL extension added in PHP version 2.0. and deprecated as of PHP 5.5.0. MySQLi extension added in PHP 5.5 and will work on MySQL 4.1.3 or above.
Does not support prepared statements. MySQLi supports prepared statements.
MySQL provides procedural interface. MySQLi provides both procedural and object oriented interface.
MySQL extension does not support stored procedure. MySQLi supports store procedure.
MySQL extension lags in security and other special features, comparatively. MySQLi extension is with enhanced security and improved debugging.
Transactions are handled by SQL queries only. MySQLi supports transactions through API.
Extension directory: ext/mysql. Extension directory: ext/mysqli.


Though mysql extension is deprecated, for backward compatibility it will be available. But do not use if you are starting something new and recommed to migrate the older from mysql to mysqli.

Other MySQLi Advantages

  • MySQLi function musqli_query() allows to enforce error prone queries and prevents bugs like SQL injection.
  • Using MySQLi data fetch, we can get buffered or unbuffered based on server resource size.
  • MySQLi API allows to execute multiple queries with single expression using multi_query() function.

This PHP code tutorial was published on October 30, 2013.

↑ Back to Top