使用WHERE和AND一起使用Java MySQL UPDATE错误

时间:2017-05-15 01:52:37

标签: java mysql

我正在尝试var number = 7; var stringGuess = prompt("guess a number"); var guess = Number(stringGuess); if (guess === number) { alert("you got it"); } else if(guess > 10) { alert(" Too High Guess Lower"); } else if (guess < number) { alert("Too low guess higher!"); } else { } MySQL中的一个条目,表的结构是UPDATE。在table_rankings (ip text, field text, rank double)是用户的IP地址的情况下,ip是被排名的对象,field是字段的数字排名。我的发言是:

rank

在此代码中,//String for query String query = "UPDATE "+catagory+"_rankings SET rank = ? WHERE ip = ? AND field = ? )"; PreparedStatement ps = conn.prepareStatement(query); //fill ? variables ps.setDouble(1, r[i]); ps.setString(2, user); ps.setString(3, s[i]); ps.executeUpdate(); 引用了一个给定的表,例如catagorybaseball_rankings。我收到的错误是:

basketball_rankings

问题是我在SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 SQLState: 42000 VendorError: 1064 声明中无法使用WHERE以及AND吗?我也很好奇我的更新是否受到SQL注入攻击,因为我正在使用UPDATE。我试图使用catagory+"_rankings"变量,但会导致另一个错误。

1 个答案:

答案 0 :(得分:2)

你添加一个额外的“)”,或者可以说,你错过了一个&#34;(&#34;。

String query = "UPDATE "+catagory+"_rankings SET rank = ? WHERE ip = ? AND field = ? ";