CONEXIONES MYSQLI EN PHP: CÓMO CONECTAR CON MYSQL
Hace poco migré mi página web a php7 y uno de los cambios fundamentales es que tuve que empezar a usar mysqlcli para conectarme a MySQL.Para conectarme a la base de datos usé la función mysqli_connect y todo ha ido bien. Pero mirando por internet, he descubierto que con b>mysqlcli hay otra manera de conectarse a la base de datos con la función mysqli_real_connect.
La diferencia entre mysqli_connect y mysqli_real_connect:
- mysqli_real_connect necesita un objeto válido que haya sido creado por la función mysqli_init.
- Con la función mysqli_options se usa para establecer opciones extra y para modificar al comportamiento de una conexión se puede llamar varias veces a esta función para establecer varias opciones. Debería invocarse después de mysqli_init y antes de mysqli_real_connect. Hay varias opciones que se pueden consultar en la página oficial de php.
- Parámetro flags. Para establecer el tipo de conexión.Hay varias opciones que se pueden consultar en la página oficial de php.
//Conexion a la bd pruebas
$mysqli = new mysqli('127.0.0.1', 'tu_usuario', 'tu_contraseña', 'pruebas');
//Se comprueba si ha habido un error comprobando el número de error y se muestra el error ocurrido
if ($mysqli->connect_errno) {
echo 'Error al conectarse a la base de datos.';
echo 'Error: Fallo al conectarse a MySQL debido a: ';
echo 'Errno: ' . $mysqli->connect_errno;
echo 'Error: ' . $mysqli->connect_error;
exit;
}
$sql = 'SELECT alumno_id, nombre, apellido FROM alumnos WHERE alumno_id = '.$alumno_id;
$resultado = $mysqli->query($sql);
if ($resultado->num_rows === 0) {
echo 'No se ha encontrado el alumno con id '.$alumno_id;
exit;
}
//Se guarda el resultado en un array asociativo
$alumno= $resultado->fetch_assoc();
echo 'Datos del alumno: ' . $alumno['nombre'] . ' ' . $alumno['appellido'];
//Se libera memoria
$resultado->free();
//Se cierra conexión con base de datos
$mysqli->close();