Если вы просто пытаетесь определить, существует ли уже имя пользователя, я могу предложить вам изменить свой запрос на "ВЫБРАТЬ 1 ИЗ ПОЛЬЗОВАТЕЛЯ, ГДЕ username = '". $ username. "'"
$res = $db->query("SELECT 1 FROM user WHERE username='".$username."'");
if (mysqli_num_rows($res) > 0) {
die('username already taken');
}
Хорошей практикой является также избегать любого пользовательского ввода перед выполнением запросов к базе данных, так как вы широко открыты для атак с использованием SQL-инъекций. Вот безопасная версия:
$res = $db->query("SELECT 1 FROM user WHERE username='". mysqli_real_escape_string($username) ."'");
if (mysqli_num_rows($res) > 0) {
die('username already taken');
}