[英]SELECT query using prepared statement and setting values taken from user
[英]Using Prepared Statement to select values for JQuery JTable
我正在根據Java Servlet處理的Jquery JTable的搜索查詢字符串選擇值。 我收到過濾器以及startPageIndex和recordPageIndex的請求參數。 但是有一個Mysql錯誤。 請查看下面的代碼/錯誤。
根據頁面選擇列
if(filter != null && !filter.trim().equals("")){
query = "SELECT C1, C2, C3, C4, C5"
+ "FROM DEPARTMENTS "
+ "WHERE C2= ? OR C3= ? OR C4= ? OR C5= ? "
+ "ORDER BY department ASC LIMIT "
+ "? , ? ";
// the last two values used for table pagination
pStmt = dbConnection.prepareStatement(query);
pStmt.setString(1, filter.trim());
pStmt.setString(2, filter.trim());
pStmt.setString(3, filter.trim());
pStmt.setString(4, filter.trim());
pStmt.setInt(5, startPageIndex);
pStmt.setInt(6, recordsPerPage);
ResultSet rs = pStmt.executeQuery(query);
System.out.println("query executed " + query);
while (rs.next()) {
// Stores in List used to populate in Jquery JTable
}
}
MySQL錯誤:
您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊,以獲取在'?附近使用的正確語法。 或C3 =? 或C4 =? 或C5 =? 第1行的C3 ASC命令
在select子句中,在FROM之前或C5之后添加空間:
query = "SELECT C1, C2, C3, C4, C5 "
+ "FROM DEPARTMENTS "
+ "WHERE C2 = ? OR C3 = ? OR C4 = ? OR C5 = ? "
+ "ORDER BY department ASC LIMIT ?, ?";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.