我在 Mysql DB 的服务器上记录来自玩家的连接,有一个名为 IPDataBase 的表。我想检查用户是否使用具有相同 IP 的多个帐户。
该表看起来或多或少像这样:
PlayerName | IP
Player1 | 0.0.0.0
Player2 | 0.0.0.1
Player1 | 0.0.0.2
当然使用非真实示例。我想说的是,相同的玩家名称可以在其中但具有不同的 IP。因此,一旦玩家连接它,它就会检查同一玩家是否已经使用相同的 ip 登录,如果不是这样,它将插入一条新线路。
我现在有一个布尔方法,它应该返回是否存在具有相同 ip 的玩家。到目前为止,我的代码是:
注意:因为它是一个 Bukkit 插件,所以类型 Player 是一个 Player 并且字符串 Playername 是通过 player.getName() 获得的
public boolean checksameip(Player player, String IP){
boolean ret = false;
String playername = player.getName();
try{
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/WebCom", "root", "MyPW");
Statement stmt = (Statement) con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT PlayerName FROM IPDataBase WHERE IP='"+IP+"'");
if(rs.next()){
//there are results
//have no clue what to put here :S
}else{
ret = false;
}
con.close();
}catch(Exception e){
logm("Could Not Send Data To MYSQL DATABASE SERVER");
}
return ret;
}