No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Conexión con MySQLi

7/26
Recursos

Aportes 9

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Me gusta la aclaracion que el profesor hace sobre el archivo .env. importante para que siempre trabajemos de una forma bastante pro. 😎
.

Mi aporte

// esta es la forma orientada a objetos
$mysqli = new mysqli($server,$username,$password,$database);

// comprobar la conexion de manera procedural
// if(!$mysqli){
//     die("Fallo la conexion:" . mysqli_connect_errno());
// }

// comprobar la conexion orientada a objetos
if ($mysqli->connect_errno) {
    die("Fallo la conexion: " . $mysqli->connect_error);
}
// Esto nos ayuda a poder usar cualquier caracter en nuestras consultas
$setnames = $mysqli->prepare("SET NAMES 'utf8'"); 
$setnames->execute();    

A la flecha -> tambien se le conoce como Operador de Objetos y no es mas que la sintaxis para acceder a elementos de objetos, excepto las constantes y estaticos. Por eso la mencion a que estamos trabajando con POO.

Me gusta que esté usando composer y el .env, así se van aprendendo buenas practicas desde el inicio

si la conexión no les funciona es probable que sea porque su usuario o contraseña están mal, entonces vuelvan a revisar el archivo config.inc.php y verifiquen que está correctamente escritos.

¿Cómo estableceríamos esto dentro de una clase que utilice estas clases para establecer una conexión?

yo estoy usando wamp y obtuve un error porque no tenía habilitado la extensión de mysqli en php.ini:
PHP Fatal error: Uncaught Error: Class “mysqli” not found in C:\wamp64\www\phpdb\database\MySQLi\Connection.php:9
Stack trace:
#0 {main}
thrown in C:\wamp64\www\phpdb\database\MySQLi\Connection.php on line 9
lo único que hice fue entrar a la ruta del php de wamp en mi computador, en mi caso es: C:\wamp64\bin\php\php8.2.0
busque el archivo php.ini y descomentaree la línea extension=mysqli que tenía un ; al inicio, se lo quite, guarde y reinicie el server y funcionó

Mi resumen de la clase:

Conexión con MySQLi

Para realizar la conexión a la base de datos MySQL debemos tener en cuenta los siguientes parámetros:

  • Servidor: puede ser localhost si la base de datos en la que estamos trabajando se encuentra en el mismo host de nuestra aplicación o una ip si es el caso de que la base se encuentre en otro servidor.
  • Nombre de la base de datos
  • Nombre del usuario de la base
  • Nombre de la contraseña asignada al usuario

Para establecer la conexión tenemos 2 formas de hacerlo:

  • Forma orientada a objetos:

    $mysqli = new mysqli($server, $username, $password, $database);
    
    // Comprobar la conexion de manera orientada a objetos
    if ($mysqli->connect_errno) {
        die("Fallo la conexion: " . $mysqli->connect_error);
    }
    // Esto nos ayuda a poder usar cualquier caracter en nuestras consultas
    $setnames = $mysqli->prepare("SET NAMES 'utf8'"); // Establece en la base que se van a utilizar caracteres especiales en las consultas
    $setnames->execute();
    
  • Forma procedural

    $mysqli = mysqli_connect($server, $username, $password, $database);
    
    // Comprobar la conexion de manera procedural
    if(!$mysqli){
        die("Fallo la conexion:" . mysqli_connect_errno());
    }
    
    $setnames = $mysqli->prepare("SET NAMES 'utf8'"); // Establece en la base que se van a utilizar caracteres especiales en las consultas
    $setnames->execute();
    

Códigos de error

  • connect_errno(): Devuelve el código de error de la última llamada a la función de conexión,

yo tengo instalado XAMMP en mi pc, para que la conexión me funcionara hice esto:

$server="127.0.0.1";
$database="moneymaster";
$port=3306;
$username="root";
$password="";

$mysqli=new mysqli($server,$username,$password,$database,$port);

De esta manera me funcion