Java com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:和executeUpdate赢得';行不通
大家好!我有一个程序可以检查当前密码是否与数据库中的密码匹配。然后,新密码应更新数据库中的当前密码。密码转换为md5结构。现在,除了数据库不会更新之外,所有这些都可以正常工作。出现MySQLSyntaxErrorException,executeUpdate方法也无法工作。任何帮助都将不胜感激。提前谢谢你Java com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:和executeUpdate赢得';行不通,java,mysql,jdbc,Java,Mysql,Jdbc,大家好!我有一个程序可以检查当前密码是否与数据库中的密码匹配。然后,新密码应更新数据库中的当前密码。密码转换为md5结构。现在,除了数据库不会更新之外,所有这些都可以正常工作。出现MySQLSyntaxErrorException,executeUpdate方法也无法工作。任何帮助都将不胜感激。提前谢谢你 if(!rs.next()){ JOptionPane.showMessageDialog(null, "Please Retype your pass
if(!rs.next()){
JOptionPane.showMessageDialog(null, "Please Retype your password.");
response.sendRedirect("/Project1/ChangePassword.jsp");
}else{
JOptionPane.showMessageDialog(null, "RESULTSET");
pswrd = rs.getString(1);
if(md5CurrentPasswrd.equals(pswrd)){
if(newPassword.equals(confirmPassword)){
digest.update(newPassword.getBytes(), 0, newPassword.length());
md5NewPasswrd = new BigInteger(1, digest.digest()).toString(16);
Connection conn2 = null;
String conStr = "jdbc:mysql://localhost:3306/chkdb?user=root&password=";
conn2 = DriverManager.getConnection(conStr);
PreparedStatement prepStmt = conn2.prepareStatement("UPDATE accounts SET password=? /n"
+ " WHERE password=?");
prepStmt.setString(1,md5NewPasswrd);
prepStmt.setString(2,md5CurrentPasswrd);
JOptionPane.showMessageDialog(null, "Updated1!"); //The program passes this.
prepStmt.executeUpdate();
prepStmt.close();
JOptionPane.showMessageDialog(null, "Updated2!"); //The program does not reach this.
response.sendRedirect("/Project1/summary.jsp");
}else{
JOptionPane.showMessageDialog(null, "Passwords did not match!");
response.sendRedirect("/Project1/summary.jsp");
}
}
}
/n
应为\n
或仅空格。/n
应为\n
或仅空格。从
UPDATE accounts SET password=? /n"
+ " WHERE password=?
到
将您的查询从
UPDATE accounts SET password=? /n"
+ " WHERE password=?
到
请显示您的例外情况顺便问一下/n是用于什么的?在您的查询中/n(更新帐户设置密码=?/n)在做什么???@ScaryWombat这是用于下一行的。我把它删掉了,只写了一行。然后成功了!谢谢对不起,我只是一个新手。您是否正在更改所有使用我的旧密码的用户的密码?请显示您的例外情况。顺便问一下/n用于什么?在您的查询中/n(更新帐户设置密码=?/n)用于什么???@ScaryWombat它用于下一行。我把它删掉了,只写了一行。然后成功了!谢谢对不起,我只是个新手。你是否正在为所有使用我旧密码的用户更改密码?