Java로 인증 시스템을 만들려고하는데이 방법이 효과가 있는지 잘 모르겠습니다. 논리적으로 나에게이 코드는 첫 번째 행 (id = 1)만을 가져오고 이후에는 아무 것도 가져 오지 않을 것인가? 반면 대신 if
의Java MySQL 및 Java 혼동
public boolean authUser(String user, String pass) throws Exception
{
boolean authenticated = false;
int id = 0;
String username = "", password = "";
Connection authConn = getConnection();
Statement stat = authConn.createStatement();
String query = ("SELECT * FROM users ORDER BY id DESC LIMIT 1;");
ResultSet rs = stat.executeQuery(query);
if(rs.next())
{
id = rs.getInt("id");
username = rs.getString("user");
password = rs.getString("pass");
}
else
{
System.out.println("Error 20-01: Empty Table");
}
authConn.close();
if(username.equals(user))
{
if(password.equals(pass))
authenticated = true;
else
System.out.println("Incorrect Password!");
}
else
{
authenticated = false;
System.out.println("Incorrect Username!");
}
return authenticated;
}
? 쿼리는 일치하는 결과의 마지막 레코드를 반환합니다. –
글쎄, 나는 사용자를 인증하려고 시도하고있다. 그래서 그것은 모든 테이블을 조사하여 어떤 조합과도 일치 하는지를 확인한다. MySQL DB에 액세스 할 수 없으므로 테스트하지 않았습니다. 방금 앉아서 코딩했는데 제대로 작동하는지 확신 할 수 없습니다. – Hondjie
이러한 예제는 인터넷에서 사용할 수 있으며 귀하의 요구 사항은 무의미한 논리입니다. – Ankit