Este sitio web usa cookies para mejorar el servicio. Si continúa navegando entendemos que aceptas su uso.

Política de Privacidad

BLOG - DETALLES

Extensión mysqli de PHP

Cómo implementar tus antiguas conexiones con la extensión mysqli de PHP

Extensión mysqli de PHP

Desde la versión 4.1.3 de PHP se recomienda el uso de extensión mysqli de PHP para conexiones a un servidor con bases de datos MySQL. Vamos a ver las principales características de esta extensión y cómo implementar una conexión correctamente para tu web migrando la antigua extensión mysql a la actual mysqli.

Aunque aún se mantienen los métodos y funciones asociados a la antigua extensión mysql, esta ha quedado ya obsoleta y se recomienda encarecidamente dejar de usarla y migrarla según el módelo proporcionado por mysqli, ya sea por procedimientos o por orientación a objetos.

En primer lugar, veamos algunos conceptos implicados en la conexión y que conviene entender, aunque sea por encima, para saber cómo plantear la conexión y el porqué de los cambios (para más información ver la web de PHP):

Extensión MySQL de PHP

Representa la API clásica para la conexión de PHP con un servidor MySQL.

Extensión mysqli de PHP

Conocida también como "Extensión MySQL Mejorada", representa la API de conexión de PHP a un sistema de bases de datos MySQL usando las nuevas características de orientación a objetos implementadas en PHP desde su versión 5. Soporta también el paradigma de programación procedimental, de ahí que la interfaz tenga ese caracter dual.

Objeto de Datos o PDO

Ofrece una API que nos permite conectar, teóricamente, a cualquier sistema de Bases de Datos desde PHP con tan sólo unos pequeños cambios en el código. En nuestro caso crearemos una instancia de este objeto para servidores con MySQL.

 

Para poder comparar, vamos a ver primero un ejemplo de cómo se establecía la conexión usando la extensión mysql antigua, ya obsoleta:

$h = "servidor";
$u = "usuario";
$p = "contraseña";
$d = "nombre_database";

mysql_connect($h,$u,$p) or die('ERROR en la conexión con el servidor');
mysql_select_db($d) or die('No se encuentra la Base de Datos seleccionada');

Ahora veamos cómo se implementaría la conexión usando el estilo por procedimientos de la Extensión mysqli, la forma más cercana a la antigua mysql:

$conexion = mysqli_connect($h,$u,$p,$d) or die("No se ha podido establecer la conexión");

La función mysqli_connect() es un alias del método constructor de mysqli - mysqli::__construct() - y que devuelve un objeto que representa la conexión al servidor MySQL, que almacenamos en $conexion para usarla posteriormente en nuestras peticiones a la base de datos:

$q = "select * from tabla";
$r = mysqli_query($conexion,$q);

En este punto usaremos los datos como nos convenga y una vez usados, la conexión se deberá cerrar:

mysqli_close($conexion);

Si usamos el estilo Orientado a Objetos, todo el proceso quedaría como sigue:

$conexion = new mysqli($h,$u,$p,$d);

$r = $conexion->query($q);

        //Aquí haremos lo que tengamos que hacer con los datos y después cerramos

$conexion->mysqli_close();

Para ampliar toda esta información y profundizar más podeis acceder directamente a la web de PHP y ver con más detalle todos y cada uno de los puntos que hemos usado en este artículo.

Comentarios del Artículo

COMENTAR

No hay comentarios para este artículo en este momento

Debes estar logueado para poder dejar un comentario.