mysqli_query mysqli_connect example ejemplos consulta conexion php mysql mysqli

php - mysqli_connect - ¿Cuándo debería usar MySQLi en lugar de MySQL?



mysqli_query (5)

A menos que esté usando una versión anterior de la base de datos MySQL (anterior a la 4.1.3) o requiera alguna funcionalidad aún no incluida en MySQLi (creo que hay una de las dos funciones que no se movieron), entonces quédese con MySQLi cuando quiera que poder.

¿Puede alguien aclararme las ventajas y desventajas de utilizar MySQLi en lugar de MySQL? ¿Hay situaciones en las que no debería usar MySQLi? ¿Debo configurar mi servidor de manera diferente para usar MySQLi? Por ejemplo, ¿necesito actualizar Apache o PHP para poder soportar MySQLi?


Si está utilizando mysql > 4.1.3. Mysqli es una nueva interfaz para mysql en php. Una cita de http://www.php.net/manual/en/mysqli.overview.php

¿Cuál es la extensión MySQL de PHP?

Esta es la extensión original diseñada para permitirle desarrollar aplicaciones PHP que interactúen con una base de datos MySQL. La extensión mysql proporciona una interfaz de procedimientos y está diseñada para su uso solo con versiones de MySQL anteriores a 4.1.3. Esta extensión se puede usar con versiones de MySQL 4.1.3 o posteriores, pero no todas las últimas características del servidor MySQL estarán disponibles.

Note: If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use the mysqli extension instead.


Siempre, si es posible.

Es posible que MySQLi no sea compatible con su instalación de PHP. Sin embargo, la mayoría de los proveedores de alojamiento tienen soporte para MySQLi.


Las razones por las que debería usar la extensión MySQLi en lugar de la extensión MySQL son muchas:

  1. MySQLi le proporciona declaraciones preparadas, una forma más segura de enviar datos a MySQL y protegerlo de la inyección de SQL. Esto solo debería ser suficiente para elegir siempre MySQLi sobre MySQL .
  2. MySQLi habilita la mayoría de las características de MySQL.
  3. MySQLi está orientado a objetos.
  4. MySQLi admite declaraciones preparadas, transacciones y declaraciones múltiples.
  5. La antigua extensión de MySQL está en desuso a partir de PHP 5.5.0

Y hay otros beneficios. Pero, principalmente, debe centrarse en la seguridad y la estabilidad, y MySQLi le ofrece precisamente eso.


El equipo de PHP se niega a admitir la extensión de mysql más. Esta razón es suficiente solo.

Todas las otras razones no tienen mucho sentido:

  • MySQLi le brinda declaraciones preparadas : uno puede usar el viejo mysql con adaptadores de red manipulados manualmente y estar aún más seguro . Esto solo debería detener a MySQL de la desaprobación inútil.
  • MySQLi habilita la mayoría de las características de MySQL que la mayoría de los usuarios de PHP nunca han escuchado.
  • MySQLi está orientado a objetos : un par de manos derechas pueden orientar el viejo objeto mysql en cuestión de horas.
  • * MySQLi apoya
    • transacciones * - mysql también los admite. solo ejecuta la consulta START TRANSACTION y estás listo.
    • declaraciones múltiples , pero nadie las necesita.
    • declaraciones preparadas - como una cuestión de hecho, el soporte es horrible , las hace prácticamente inutilizables

Entonces, no hay ventajas en absoluto.
Si desea llevarse bien con la extensión no desaprovechada pero utilizable, busque el PDO .