Если вы напечатаете запрос, вы заметите, что вокруг $ username есть пробелы, и вы не сможете получить результат, если не вставите имя пользователя с этими пробелами.
Неверная строка запроса при вводе имени Джона в качестве имени пользователя:
SELECT username FROM users WHERE username = ' John '
// Wrong spaces ^ ^
Удалить пробелы между двойными и одинарными кавычками:
$namecheckquery = "SELECT username FROM users WHERE username = '" . $username . "'";
Еще лучше, убрать пробелы и избежать конкатенации:
$namecheckquery = "SELECT username FROM users WHERE username = '$username'";
PHP заменит переменные соответствующими значениями, когда строка заключена в двойные кавычки.
Наконец, запрос не возвращает ноль, функция mysqli_num_rows ($ nameCheck) возвращает 0, поскольку совпадений не найдено.