Main menu

Cómo conectar a MySQL desde PHP

Hasta ahora era habitual usar la función de PHP mysql_connect() para crear conexiones contra bases de datos MySQL. Esta función fue declarada obsoleta en de PHP 5.5.0 y a partir de PHP 7.0.0 será eliminada.

Por este motivo, es conveniente que empecemos a usar la nueva metodología orientada a objetos. Las nuevas funciones tienen nombres parecidos y el funcionamiento es muy similar. Para crear una conexión a una base de datos deberemos hacerlo con la clase mysqli:

/*
* Datos de conexión a MySQL
*/
$db_database = 'nombre_bd';
$db_hostname = 'localhost';
$db_username = 'usuario_bd';
$db_password = 'P@ssw0rd';

/*
* Creación del objeto mysqli
*/
$mysqli = new mysqli($db_hostname, $db_username, $db_password, $db_database);

/*
* Buscamos posibles errores en la conexión
*/
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
}

Si no hay ningún error, el objeto $mysqli será el que nos servirá para lanzar consultas a la base de datos. Por ejemplo, si queremos obtener datos y mostrarlos por pantalla, en primer lugar necesitaremos crear la consulta y ejecutarla con el método query del objeto $mysqli:

/*
* Creación de la consulta SQL
*/
$query = "SELECT * FROM productos";

/*
* Guardamos el resultado que devuelve MySQL
*/
$resultado = $mysqli->query($query)

Una vez guardado el resultado de la consulta, tenemos varias formas de iterar sobre el mismo, por ejemplo a través de un array asociativo, que conseguimos con el método fetch_assoc() del objeto $resultado:

/*
* Iteramos sobre el resultado y mostramos los datos
*/
while ($producto = $resultado->fetch_assoc()) {
	echo $producto["campo1"];
	echo $producto["campo2"];
	echo $producto["campo3"];
}

/*
* Liberamos los recursos reservados
*/
$resultado->free();
$mysqli->close();

Es una buena práctica a nivel de rendimiento liberar el conjunto de resultados y cerrar la conexión una vez terminemos. Como has visto, esta metodología es muy parecida a la obsoleta, por lo que no supone demasiado tiempo aprender a usarla. Además, para iniciados en PHP la curva de aprendizaje es menor.

Si tienes más dudas sobre cómo usar estos métodos de PHP u otros, no dudes en dejarnos un comentario.

Comparte en redes sociales

Al usar este sitio acepta el uso de cookies para análisis y contenido personalizado. Leer más

ACEPTAR
Aviso de cookies