Вы используете переменную $ db, но она ничего не содержит, поэтому я считаю, что ваши mysqli-функции возвращают только "false". Вы также не создаете ни одного экземпляра своего класса, так что в данный момент он ничего не делает для вас.
Кроме того, вы не указываете базу данных по умолчанию в вашем mysqli_connect (), я не уверен в результатах этого, я полагаю , что вам может понадобиться указать базу данных при создании запроса и что это может потерпеть неудачу, если нет.
Поскольку вы не читаете никаких конкретных значений из $ row, вам не нужно:
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
Но если вы действительно хотите прочитать «активный» столбец, вам также необходимо указать его в запросе как таковой:
SELECT id,active FROM Users WHERE username = '$myusername' and password = '$mypassword'";
Попробуйте что-то более похожее на это и посмотрите, куда он вас доставит (обратите внимание, что я добавил четвертый параметр в mysqli_connect, который может или не должен быть там, это необязательный параметр, но, как я уже говорил выше - я не уверен, как / если это работает, чтобы опустить базу данных по умолчанию как в функции соединения, так и в запросе) :
<?php
session_start();
$db = mysqli_connect('localhost:8888', 'lmaia', 'Luismaia22', 'database');
if(isset($_POST["submit"])) {
// username and password sent from form
$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$sql = "SELECT id FROM Users WHERE username = '$myusername' and password = '$mypassword'";
$result = mysqli_query($db,$sql);
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1) {
$_SESSION['login_user'] = $myusername;
header("location: Dashboard.html");
}else {
$error = "Your Login Name or Password is invalid";
}
}
?>