String query =
"INSERT INTO hs (`username`, `lvl_1`, `xp_1`, `lvl_2`, `xp_2`, `lvl_3`, `xp_3`, `lvl_4`, `xp_4`, `lvl_5`, `xp_5`, `lvl_6`, `xp_6`, `lvl_7`, `xp_7`, `lvl_8`, `xp_8`, `lvl_9`, `xp_9`, `lvl_10`, `xp_10`, `lvl_11`, `xp_11`, `lvl_12`, `xp_12`, `lvl_13`, `xp_13`, `lvl_14`, `xp_14`, `lvl_15`, `xp_15`, `lvl_16`, `xp_16`, `lvl_17`, `xp_17`, `lvl_18`, `xp_18`, `lvl_19`, `xp_19`, `lvl_20`, `xp_20`, `lvl_21`, `xp_21`, `lvl_22`, `xp_22`, `lvl_23`, `xp_23`, `lvl_24`, `xp_24`, `lvl_25`, `xp_25`) "
+ "VALUES ('"+p.getUsername()+"', '"+ p.getSkills().getLevel(0) + "', '"+ p.getSkills().getXp(0) + "', '"+ p.getSkills().getLevel(1) + "', '"+ p.getSkills().getXp(1)
+ "', '"+ p.getSkills().getLevel(2) + "', '"+ p.getSkills().getXp(2) + "', '" + p.getSkills().getLevel(3) + "', '" + p.getSkills().getXp(3) + "', '"
+ "', '"+ p.getSkills().getLevel(4) + "', '"+ p.getSkills().getXp(4) + "', '" + p.getSkills().getLevel(5) + "', '" + p.getSkills().getXp(5)
+ "', '"+ p.getSkills().getLevel(6) + "', '"+ p.getSkills().getXp(6) + "', '" + p.getSkills().getLevel(7) + "', '" + p.getSkills().getXp(7)
+ "', '"+ p.getSkills().getLevel(8) +"', '" + p.getSkills().getXp(8) + "', '" + p.getSkills().getLevel(9) + "', '" + p.getSkills().getXp(9)
+ "', '" + p.getSkills().getLevel(10) +"', '" + p.getSkills().getXp(10) + "', '" + p.getSkills().getLevel(11) + "', '" + p.getSkills().getXp(11)
+ "', '" + p.getSkills().getLevel(12) +"', '" + p.getSkills().getXp(12) + "', '" + p.getSkills().getLevel(13) + "', '" + p.getSkills().getXp(13)
+ "', '" + p.getSkills().getLevel(14) +"', '" + p.getSkills().getXp(14) + "', '" + p.getSkills().getLevel(15) + "', '" + p.getSkills().getXp(15)
+ "', '" + p.getSkills().getLevel(16) +"', '" + p.getSkills().getXp(16) + "', '" + p.getSkills().getLevel(17) + "', '" + p.getSkills().getXp(17)
+ "', '" + p.getSkills().getLevel(18) +"', '" + p.getSkills().getXp(18) + "', '" + p.getSkills().getLevel(19) + "', '" + p.getSkills().getXp(10)
+ "', '" + p.getSkills().getLevel(20) +"', '" + p.getSkills().getXp(20) + "', '" + p.getSkills().getLevel(21) + "', '" + p.getSkills().getXp(21)
+ "', '" + p.getSkills().getLevel(22) +"', '" + p.getSkills().getXp(22) + "', '" + p.getSkills().getLevel(23) + "', '" + p.getSkills().getXp(23)
+ "', '" + p.getSkills().getLevel(24) +"', '" + p.getSkills().getXp(24) + "')";
不确定是什么问题,因为你可以看到我甚至宣布要更新的值(在使用INSERT查询后直接从PHPMyAdmin获取,以确保我在尝试解决此问题时已经完成了所有操作。表格正好有51列,用户名,然后是xp / level 1-25。
服务器提供0-24级(填充1-25个插槽)。
表中有51个更新,51个声明列和51列。
一切拼写正确。
如果重要我使用 Statement-> executeUpdate(String)
value.executeUpdate(query);
答案 0 :(得分:1)
您的数据库架构严重非规范化。
最好使用PreparedStatement并将值绑定到参数。
private static final String INSERT_SQL = "INSERT INTO HS(lvl_1) values(?)";
PreparedStatement ps = connection.prepareStatement(INSERT_SQL);
ps.setString(1, "foo");
我不会做多个专栏,因为你的例子令人发指。如果我是你,我会对该架构进行规范化。