Что не так с кодом?
Мдааааа...
<?php

session_start();
require('connect.php');
$fsmsg = "";

if (!empty($_POST['username']) AND !empty($_POST['password'])) {
    $username = mysqli_real_escape_string($connection, $_POST['username']);
    $password = $_POST['password'];

    $query = "SELECT * FROM users WHERE username='{$username}'";
    $result = mysqli_query($connection, $query) or die(mysqli_error($connection));
    $row = mysqli_fetch_assoc($result);

    if (isset($row['ban']) AND $row['ban'] == 1){
        $fsmsg = "Пользователь заблокирован";
    }
    else if (isset($row['password']) AND $row['password'] == $password) {
        $_SESSION['username'] = $username;
        $fsmsg = "Вы вошли под пользователем";
        if (isset($row['role']) AND $row['role'] == "admin") {
            $fsmsg = "Вы вошли под админом";
        }
    } else {
        $fsmsg = "Ошибка";
    }
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
          integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="stylesheet" href="style.css">
    <title>Авторизация</title>
</head>
<body>

<div class="container">
<?php
if (isset($_SESSION['username'])) {
    $username = $_SESSION['username'];
    echo("Hello," . $username . ".<br>\n");
    if(!empty($fsmsg)) echo("<h2>{$fsmsg}</h2><br>\n");
    echo("<a href='logout.php' class='btn btn-lg btn-primary'>Выйти</a>");
}
else
{
?>
    <form class="form-signin" method="POST">
        <?php if(!empty($fsmsg)) echo("<h2>{$fsmsg}</h2><br>\n"); ?>
        <h2>Авторизация</h2>
        <input type="text" name="username" class="form-control" placeholder="Username" required>
        <input type="password" name="password" class="form-control" placeholder="Password" required>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Авторизоваться</button>
        <a href="index.php" class="btn btn-lg btn-primary btn-block">Зарегистрироваться</a>
    </form>
</div>
<?php
}
?>
</body>
</html>

P.S. Хотя... Учи вас, не учи - всё в пустую, "да это всё локально, да мне только показать, да я потом переучусь, правда-правда"... Ага, ага, верим-верим. Только один оскорбительный вопрос: вы на быдлокодера учитесь?
Зачем эти 3 запроса? Достаточно просто выбрать одну строку с нужным логином и паролем, а потом уже в ней проверять поля ban и admin. 
И кстати, когда делаете header('Location: ...'), то скрипт продолжает выполняться далее (в вашем случае - до конца), не стоит полагать, что на этом он будет остановлен, просто пользователь не увидит, что там было дальше. Нужно после этого явно вызывать exit, если хотите скрипт прервать в этом месте.