PHP - Uncaught Error: Call to a member function query() on null

 
Vista:
Imágen de perfil de Lizette

Uncaught Error: Call to a member function query() on null

Publicado por Lizette (1 intervención) el 05/12/2021 01:47:45
Hola.
Estoy intentando generar un inicio de sesión web mediante PHP.
Tengo los siguientes errores:

imagen_2021-12-04_184518

Este es el código para validar el inicio de sesión (index.php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
require_once "controller/db.php";
session_start();
 
if (isset($_POST['btnIniciarS'])) {
    $u = $_POST['txtUser'];
    $psw = $_POST['txtPsw'];
 
    $sql = "SELECT * FROM users WHERE userID = '$u' AND password = '$psw';";
 
    if (!$consulta = $conn->query($sql)) {
        echo "ERROR: no se pudo ejecutar la consulta";
    } else {
        $rows = mysqli_num_rows($consulta);
        if ($rows == 1) {
            header("Location: principalAdmin.html");
        } else {
            print '<script languaje = "JavaScript">';
            print 'alert("Usuario o contraseña incorrectos")';
            print '</script>';
        }
    }
}


Este es el código de conexión a la base de datos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
 
$conn;
$USER = "root";
$DB = "Proyecto";
$PASS = "31434";
$HOST = "localhost:3306";
 
class Db
{
    public function open()
    {
        try {
            $this->conn = new mysqli($this->HOST, $this->USER, $this->PASS, $this->DB);
            return $this->conn;
        } catch (Exception $ex) {
            return $ex->getMessage();
        }
    }
 
    public function close()
    {
        $this->conn = null;
    }
}
Agradecería que me pudieran ayudar c:
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Uncaught Error: Call to a member function query() on null

Publicado por Fabian (60 intervenciones) el 05/12/2021 03:20:55
en esta parte del codigo:

AND password = '$psw';";

el punto y coma que esta antes de las comillas dobles tenes que quitarlo, quedando así:

AND password = '$psw'";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar