Почему mysql не записывает данные если есть хоть одно одинаковое данное?
Возможно у вас есть у таблицы users уникальный индекс например по полю email. Если так, то дубли при вставке либо вызывают ошибку, либо игнорируют я.
Я переписал твой код чтобы он был надёжным и безопасным

$host     = 'host';
$database = 'name';
$user     = 'user';
$password = 'passw';
$charset = 'utf8mb4'; // тоже важно!

// обязательно выставляем режим информирования об ошибках
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database);
// выставляем кодировку
$link->set_charset($charset);

$login   = 'oleg33';
$password = '04bf6c984b760ed67e3a9f0b5d9b4cc7';
$email  = 'gggggf1';

// пишем запрос, заменяя все переменне на знаки вопроса
// имя таблицы пишем прямо в запросе, делать его переменной нет ни имлейшего смысла
$sql = "INSERT INTO users (`login` , `password`, `email`) VALUES (?,?,?)");
// подготавливаем запрос
$stmt = $link->prepare($sql);
// привязываем к нему переменные
// сначала в кавычках пишем столько букв s сколько переменных, а потом сами переменные
$stmt->bind_param("sss",$login,$password,$email);
// выполняем запрос
$stmt->execute();