Saltar la navegación

3.1.- Extensión MySQLi.

Ilustración de Letras MySQLi.
Imagen Gimp (Elaboración propia con GIMP)


Esta extensión se desarrolló para aprovechar las ventajas que ofrecen las versiones 4.1.3 y posteriores de MySQL, y viene incluida con PHP a partir de la versión 5. Ofrece un interface de programación dual, pudiendo accederse a las funcionalidades de la extensión utilizando objetos o funciones de forma indiferente. Por ejemplo, para establecer una conexión con un servidor MySQL y consultar su versión, podemos utilizar cualquiera de las siguientes formas:

// utilizando constructores y métodos de la programación orientada a objetos

$conexion = new mysqli('servidor', 'usuario', 'contraseña', 'base_de_datos');
print conexion->server_info;

// utilizando llamadas a funciones

$conexion = mysqli_connect('servidor', 'usuario', 'contraseña', 'base_de_datos');
print mysqli_get_server_info($conexion);

En ambos casos, la variable $conexion es de tipo objeto. La utilización de los métodos y propiedades que aporta la clase mysqli normalmente produce un código más corto y legible que si utilizas llamadas a funciones.

Para saber más

Toda la información relativa a la instalación y utilización de la extensión, incluyendo las funciones y métodos propios de la extensión, se puede consultar en el manual de PHP.

Manual de PHP.

Entre las mejoras que aporta respecto a la antigua extensión mysql, figuran:

  • Interface orientado a objetos.
  • Soporte para transacciones.
  • Soporte para consultas preparadas.
  • Mejores opciones de depuración y seguridad.

Como ya viste en la primera unidad, las opciones de configuración se almacenan en el fichero "php.ini". En este fichero hay una sección específica para las opciones de configuración propias de cada extensión. Entre las opciones que puedes configurar para la extensión MySQLi están:

  • mysqli.allow_persistent. Permite crear conexiones persistentes.
  • mysqli.default_port. Número de puerto TCP predeterminado a utilizar cuando se conecta al servidor de base de datos.
  • mysqli.reconnect. Indica si se debe volver a conectar automáticamente en caso de que se pierda la conexión.
  • mysqli.default_host. Host predeterminado a usar cuando se conecta al servidor de base de datos.
  • mysqli.default_user. Nombre de usuario predeterminado a usar cuando se conecta al servidor de base de datos.
  • mysqli.default_pw. Contraseña predeterminada a usar cuando se conecta al servidor de base de datos.

Para saber más

En la documentación de PHP se incluye una lista completa de las directivas relacionadas con la extensión MySQLi que se pueden utilizar en "php.ini".

Lista completa de las directivas.

Autoevaluación

Pregunta

¿Qué interface o interfaces de programación admite la extensión MySQLi?

Respuestas

Orientado a objetos únicamente.

Dos interfaces de programación: procedimental y orientado a objetos.

Retroalimentación