以下のコードを使用して、postgresの更新クエリを使用してパスワードを変更します。準備されたステートメントexecuteUpdateが更新ステートメントで動作していません
@POST
@Path("/changepassword")
@Consumes(MediaType.APPLICATION_JSON)
public String changePassword(String msg) {
JSONObject jsonObject = new JSONObject(msg);
String songString = null;
String query = null;
PreparedStatement stmt = null;
try {
if (UserManagement.authMail(jsonObject.getString("mail"))) {
songString = Utilities.constructJSON("welcome", true);
Connection connection = MyResource.getConnection();
query = "UPDATE users SET password = '" + jsonObject.getString("password") + "' WHERE mail = ' "
+ jsonObject.getString("mail") + "'";
stmt = connection.prepareStatement(query);
stmt.executeUpdate();
songString = Utilities.constructJSON("Password reset successfull", true);
} else {
songString = Utilities.constructJSON("Please check your mail address", true);
}
} catch (Exception ex) {
songString = Utilities.constructJSON("" + query + ex, true);
}
return songString;
}
データベースには影響しません。どうしてこんなことに?私の接続は自動コミットモードですが、まだ更新されていません。どのようにこれを整理することができますか?
が提供する答えで述べたように
また、それは理由を説明せずに、「あなたはこれを試してみてください」と言って非常に有用ではありませんプリペアドステートメントを使用することが好ましいです。 – Kayaman
おかげで...それは動作します – Learner
あなたの歓迎:-) –