¿Qué es MySQLi y cuáles son las diferencias con MySQL?
Las páginas web dinámicas generan su contenido a partir de una combinación de instrucciones en un lenguaje de programación como PHP, Python o Perl, que recuperan contenidos como textos o enlaces desde una base de datos en MySQL, MariaDB o —según el tipo de contenido— formatos especializados como InfluxDB o Redis. La comunicación se realiza mediante interfaces entre el intérprete del lenguaje y un servidor de bases de datos, que a su vez utiliza un subsistema de almacenamiento (motor) como InnoDB para la consulta y manipulación de los datos. La forma en que tiene lugar este intercambio influye de manera decisiva en la eficiencia de la transmisión. En el lenguaje de scripting PHP, utilizado por la mayoría de los sistemas de gestión de contenidos (CMS), esta tarea la desempeñó durante mucho tiempo la extensión integrada MySQL. Con PHP 7.0, los desarrolladores descontinuaron dicha extensión tras más de una década de migración: fue sustituida por una nueva función llamada mysqli().
¿Qué significa MySQLi?
Desde su primera versión en 1994, MySQL se convirtió, por su funcionalidad y por estar disponible bajo la licencia GPL de código abierto, en un estándar oficioso y durante mucho tiempo prácticamente obligatorio para el alojamiento web. La combinación de servidor Linux, servidor web Apache, base de datos MySQL y PHP como lenguaje de scripting de procesamiento sigue siendo hoy en día el entorno más utilizado para sitios web y sirve de base para la mayoría de los CMS, incluidos WordPress, Joomla, así como sistemas de tienda de código abierto o propietarios. Responsable de la comunicación entre PHP y el servidor de base de datos era la extensión homónima.
Para responder a los requisitos cambiantes, los desarrolladores crearon MySQLi, una nueva versión —la sigla significa MySQL "mejorado" (Improved)— y que anunciaba una nueva generación del controlador PHP para el servidor de bases de datos. La introducción se realizó inicialmente con PHP 5.0 para Microsoft Windows; desde la 5.3 MySQLi constituye el controlador nativo. El soporte para la sintaxis antigua con la función mysql() en lugar de mysqli() se eliminó a partir de PHP 7.0, por lo que los scripts antiguos ya no son directamente compatibles. Sin embargo, esto afecta únicamente a la programación y en ningún caso restringe el uso de bases de datos en MySQL o MariaDB ni de motores como InnoDB o MyISAM.
Asegura ahora el alojamiento web MySQL perfecto
Ir al comparador de alojamiento web MySQL
¿Cuáles son las diferencias entre MySQL y MySQLi?
La transición a MySQLi fue una respuesta lógica a la creciente difusión y a la mayor importancia de MySQL y PHP en Internet. Supuso, en más de un sentido, un cambio respecto a la estructura anterior. Entre las novedades introducidas por MySQLi se incluyen, entre otras:
- Posibilidad de programación orientada a objetos en lugar de únicamente procedimental
- Introducción de sentencias preparadas ("Prepared Statements") universales con marcadores de posición
- Mayor seguridad mediante protección frente a ataques de inyección SQL
- Mayor eficiencia gracias a código más ligero y procesamiento más rápido
- Aumento notable de la velocidad en todo tipo de accesos
- Mejor soporte para fragmentos de código universales
- Mayor número de funciones para la manipulación de la base de datos
Hoy en día ya no existe una razón sensata para seguir usando la versión antigua, independientemente de si como motor se emplea InnoDB, MyISAM u otro subsistema de almacenamiento. Esta variante, según los estándares actuales, no solo es ineficiente y lenta, sino que además presenta numerosas vulnerabilidades de seguridad conocidas y que en el pasado fueron explotadas en múltiples ocasiones, lo que dificulta considerablemente la creación de entornos seguros.
¿Utilizan las páginas web actuales exclusivamente MySQLi?
Sin lugar a dudas, MySQLi constituye el estándar actual para la comunicación entre PHP y la base de datos en un servidor. Todos los CMS, sistemas de tienda y herramientas mantenidas por sus desarrolladores y pensadas para uso productivo, como phpMyAdmin, llevan ya tiempo usando exclusivamente MySQLi en lugar de MySQL. La situación es diferente en algunas versiones antiguas y en complementos que no se han actualizado durante largo tiempo. Éstos deberían, por los motivos expuestos anteriormente —sobre todo por seguridad y rendimiento—, migrarse de inmediato a un sistema actual. En sitios web comerciales, de lo contrario, además de sufrir desventajas competitivas, también pueden producirse consecuencias graves y posiblemente legales si el responsable no cumple con su deber de diligencia respecto a los datos confidenciales.
Asegura ahora el hosting web MySQL perfecto
Al comparador de hosting web MySQL
Foto: Gerd Altmann en Pixabay
Escribe un comentario
- Datenbanken
Etiquetas de este artículo
Más proveedores de hosting
Más artículos interesantes
¿Qué es Adminer y es adecuado como alternativa a phpMyAdmin?
Os mostramos las ventajas de Adminer como alternativa a phpMyAdmin. Estas son las ventajas y las desventajas.