0
我試圖打印一個列表(只有一個項目),但我的JPQL語句不能正常工作,因爲報價。我嘗試過所有可能的組合,但似乎沒有任何組合。如果有人有任何建議或不同的方法,我會很感激。 注意:在發佈這個消息之前,我在網站上發現了一個類似的問題,但答案不適用於我的案例。由於JPQL語句不適用於報價
String submittedName=request.getParameter("name");
user=entityManager.find(user.getClass(),submittedName);
Query myQuery=entityManager.createQuery
("SELECT u.password FROM UserData u WHERE u.name=''"+submittedName+"");
List results=myQuery.getResultList();
String convertedResults=results.get(0).toString();
out.println(results);
你一定要明白,在實際的查詢,你正在做(至少在你發佈的代碼),無論'submitName'結束*外*引號,對吧? –
忽略引號引起的問題。不要將從用戶接收的字符串連接到查詢中,就像您正在嘗試執行的操作一樣。這只是乞求你的數據庫被黑客入侵。有沒有聽說過鮑比桌子? http://stackoverflow.com/questions/332365/how-does-the-sql-injection-from-the-bobby-tables-xkcd-comic-work – Rob
感謝您的幫助!這工作! – kellzer