PHP не создаёт запись MySQL, ошибки не выводит, что делать?
Чтобы не заниматься гаданиями:
https://www.php.net/manual/ru/mysqli-driver.report...
https://www.php.net/manual/ru/function.error-repor...
No index used in query/prepared statement ...
что это означает?
Это означает, что, по мнению PHP/mysqli, нет подходящего индекса для обработки запроса, сервер будет шерстить всю таблицу, что неэффективно. В общем, он просто старается сделать тебя счастливым (твоё мнение при этом никого не интересует).
Возможные решения:
1. Создать индекс users (username)
2. Изменить настройки mysqli_report() (см. ответ SagePtr)

без неё обойтись нельзя, т.к. одинаковые ники будут вызывать ошибки в некоторых уголках сайта
что делать?
Тогда альтернатив вообще нет. 

Создать уникальный индекс users (username).

После этого код с проверкой на существование можно смело выбросить (дубликат в принципе не будет записываться сервером). Но обязательно добавить код для обработки ошибки дублирования при добавлении.