0
Это плагин для minecraft. Предполагается, что игроки вытаскивают идентификатор клиента, установленный в конфиге, и отображают их в игре. Вместо этого он привлекает всех, независимо от их идентификатора клиента.SQL-запросы тянут все?
if(cmd.getName().equalsIgnoreCase("getaward"))
{
Player player = (Player)sender;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection (dbUrl,dbUser,dbPass);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM `votesdb` WHERE `nick` = '"+player.getName().substring(0,player.getName().length()/2)+"' AND `customer_id` LIKE "+config.getString("customer_id")+"");
//ResultSet rs = stmt.executeQuery("SELECT nick,votes FROM `votesdb` WHERE nick='"+player.getName()+" LIMIT 1");
if(rs.next())
{
if(rs.getInt("votes")!=0)
{
player.sendMessage(ChatColor.GREEN+"[VFD]"+ChatColor.AQUA+"Thanks for voting! You will find something special in your inventory. :)");
bukkit.broadcastMessage(ChatColor.GREEN+"[VFD]"+ChatColor.AQUA+player.getDisplayName()+" has been rewarded for Voting for the Server!");
stmt.executeUpdate("UPDATE `votesdb` SET flag=0 WHERE `nick` LIKE '"+player.getDisplayName().substring(0,player.getDisplayName().length()/2)+"'");
player.getInventory().addItem(new ItemStack(this.matID,this.matAmt));
}
else
{
player.sendMessage(ChatColor.RED+"You have already claimed your reward.");
}
}
else
{
player.sendMessage(ChatColor.RED+"We could not find you in the database! Please make sure you used the correct name when you voted!");
}
IF custormer Id уникален, тогда вы не используете equals ('customer_id' = config.getString (« customer_id »)), а не как .... – Shehzad
- это моя проблема? мне нужно использовать = вместо того, чтобы нравится? –
Вы проверили, что 'player.getName(). Substring (0, player.getName(). Length()/2)' действительно возвращает ник игрока? Мне кажется, что это сознательно возвращает половину! (Кроме того, если псевдоним или идентификатор клиента уникальны, используйте только уникальный, другой - просто накладные расходы). – halfer