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.