Сравнение регистра ника из Базы Данных

EwrsPlay

Участник
Пользователь
Баллы
36
Имя в Minecraft
Ewrs728
Привет всем. Вот игрался с БД и нашёл такую фигню. Я записал игрока в базу данных с ником "TEST", но если зайдёт игрок под ником "test", то он зарегистрируется как новый юзер. У меня вопрос, как я могу сравнить ники учитывая регистр? То есть, если игрок "TEST" уже есть в БД, то "test" не пустит.
 
не знаю, чо курил сашка, но тебе надо сделать
SELECT * FROM users WHERE lower(user) = lower(?)
если в базе будет TEST, а зайдет test, ты делаешь селект и видишь, что TEST уже есть. и не пускаешь. или считаешь что это тот же самый тест и просишь его пароль
Зачем тебе вообще в этой ситуации код? XD
чтобы сказать тебе просто где что поправить, а не кидать как сашка 60 строк кода
 
По вашим сообщениям я так понял и сделал это.
final String name = e.getConnection().getName();
ResultSet accresult;
try {
accresult = db.getConnection().createStatement().executeQuery("SELECT * FROM `Auth`");
if(name.equals(accresult.getString("username"))) {
e.setCancelReason("sss");
e.setCancelled(true);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
https://pastebin.com/YfbP9jd7
 
Я не понимаю в чём проблема, причём вообще регистр?
Делаешь деф запрос: SELECT * FROM users WHERE user = ?;
Тебе вернётся поле - если ник найден, и обратное nrows = 0, если не найдено не одно совпадение.
if (nrow != 0) {
//пользователь существует
return;
}
 
Я не понимаю в чём проблема, причём вообще регистр
притом что если в базе TEST, а зашел test, такой запрос ничего не вернет, и игрок будет как будто новый. а автор, видимо, хочет такое запретить.
 
притом что если в базе TEST, а зашел test, такой запрос ничего не вернет, и игрок будет как будто новый. а автор, видимо, хочет такое запретить.
Если есть TEST, а зайдет test, то в ответе будет nrow = 1
а дальше
if (nrow != 0) {
//пользователь существует
return;
}
 
притом что если в базе TEST, а зашел test, такой запрос ничего не вернет, и игрок будет как будто новый. а автор, видимо, хочет такое запретить.
Зависит от типа таблиц. И мне кажется, что он сам ничего не писал и плагин вообще не его. И он совершенно не ипет как оно там работает.
 
нужно говорить что конкретно у тебя не получается, а не "оно не работает", почитай книгу по sql/mysql, а потом туда лезь
И мне кажется, что он сам ничего не писал и плагин вообще не его. И он совершенно не ипет как оно там работает.
 
Хоть кто-то понял
Тебя давно все поняли.
Это ты понять никак не можешь, что хранить ники можно в разном регистре, но сравнивать (прежде получать из БД) в верхнем или нижнем.
Что конкретно тебе не понятно?
 
Назад
Верх