gpt4 book ai didi

使用数据库进行 Java 用户名和密码验证

转载 作者:搜寻专家 更新时间:2023-10-30 20:25:27 24 4
gpt4 key购买 nike

我正在尝试使用数据库信息验证用户输入。因此,如果用户输入用户名,它将检查是否与数据库匹配。

public void login() throws SQLException {
boolean loginUsername = false;
boolean loginPassword = false;
String input = null;

while(input == null) {
System.out.println(message.loginUsername());
input = in.nextLine();

try {
preparedStatement = connect.prepareStatement("SELECT username FROM doom.accounts;");
rs = preparedStatement.executeQuery();

while(rs.next()) {
String username = rs.getString("username");

if(!input.equals(username)) {
System.out.println(message.invalidUsername());
input = null;
} else {
loginUsername = true;
}
}
} catch(SQLException e) {

} finally {
if(statement != null) {
statement.close();
}
}
}
}

我只发布了该方法的用户名部分。我已经调试并可以确认我的用户输入确实等于数据库中的有效用户名,但我仍然收到不应该出现的无效用户名消息。

最佳答案

通过编写 SQL 查询来测试它,并且当您在字符串中进行等号检查时确保两个字符串中的大小写相同。

如果大小写不重要,您可以使用 equalsIgnoreCase()

更好的方法是将您的查询更改为:

 select username from doom.accounts where username like ?

记得省略';'

看一下preparedStatement,在?中设置用户名

可以看看here .

关于使用数据库进行 Java 用户名和密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36900811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com