Extensió MySQL vs MySQLi

MySQL és un popular sistema de gestió de bases de dades relacional (RDBMS). És un SGBD de codi obert que s’utilitza àmpliament fins i tot en empreses de gran escala com Wikipedia, Google i Facebook. PHP (significa PHP: Hypertext Preprocessor) és un llenguatge d'escriptura del servidor, especialment indicat per a desenvolupar pàgines web dinàmiques i interactives. MySQL i MySQLi són dues extensions previstes per a la interacció de les aplicacions PHP amb bases de dades MySQL. Aquestes dues extensions s’implementen mitjançant el marc d’extensions PHP i aquestes proporcionen una API (Application Programming Interface) als programadors PHP per interactuar amb les bases de dades MySQL.

Què és l’extensió MySQL?

MySQL Extension és la primera extensió proporcionada per desenvolupar aplicacions PHP, que es poden utilitzar per interactuar amb bases de dades MySQL. Això proporciona una interfície de procediment perquè els programadors de PHP interactuin amb bases de dades MySQL. Aquesta extensió està destinada a utilitzar-se només amb versions MySQL més antigues que la versió 4.1.3. Tot i que es pot utilitzar amb la versió 4.1.3 de MySQL o una versió més recent, cap de les novetats d'aquestes versions no estarà disponible. Actualment, no hi ha novetats actives a l’extensió de MySQL i no es recomana per a nous projectes. L'extensió de MySQL addicional no admet declaracions preparades del costat del servidor ni declaracions preparades del costat del client. Tampoc admet els procediments emmagatzemats ni els caràcters.

Què és l’extensió MySQLi?

MySQLi Extension (també anomenada extensió millorada de MySQL) és la nova extensió prevista per desenvolupar aplicacions PHP que puguin interactuar amb bases de dades MySQL. Aquesta extensió està desenvolupada per obtenir el màxim ús de funcions disponibles a la versió de MySQL 4.1.3 o més recent. MySQLi Extension s’incorpora primer a la versió 5 de PHP i s’inclou a totes les versions posteriors. A més de proporcionar una interfície de procediment per als programadors de PHP, MySQLi Extension també proporciona una interfície orientada a objectes. També proporciona suport per a declaracions preparades per part del client / servidor i instruccions múltiples. A més, admet caràcters i procediments emmagatzemats.

Quina diferència hi ha entre MySQL i MySQLi Extension?

Tot i que tant MySQL Extension com MySQLi Extension són extensions previstes per al desenvolupament d'aplicacions PHP que puguin interactuar amb bases de dades MySQL, MySQLi Extension té algunes millores clau a l'extensió MySQL. En primer lloc, es recomana utilitzar MySQL Extension amb versions de MySQL més antigues de 4.1.3, mentre que MySQLi Extension es recomana utilitzar amb versions MySQL 4.1.3 o posteriors. A més, MySQLi Extension només s’incorpora a PHP 5 o versions posteriors. MySQL Extension només proporciona una interfície de procediment per als programadors PHP, mentre que MySQLi Extension proporciona una interfície orientada a objectes (a més de la interfície de procediment). A més, MySQLi Extension ofereix suport per a declaracions preparades i declaracions múltiples, que no són compatibles amb MySQL Extension. MySQLi Extension proporciona millores funcions de depuració en comparació amb MySQL Extension. A més, MySQLi Extension proporciona suport de servidor incrustat i suport de transacció, que no estaven disponibles a MySQL Extension. Tot i que l'extensió de MySQL es pot utilitzar amb versions de MySQL 4.1.3 o posteriors, cap de les funcions noves incloses amb les versions de MySQL no estarà disponible.