我收到以下錯誤:我能夠看到用戶輸入但 sql 沒有接受值?
錯誤如下:
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: SELECT SOURCE AS source FROM flyaway.flightdetails WHERE source= Delhi; :“where 子句”中的未知列“Delhi”
我的 index.jsp 代碼如下:
<form action="ValidationFilter" method="get">
Enter the source: <input type="text" name="source"><br>
Enter the destination: <input type="text" name="destination"><br>
Enter departure date: <input type="date" name="departure"><br>
<input type="submit" value="Submit">
</form>
我的 flightList.jsp 如下:
<sql:setDataSource
var="myDB"
driver="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/flyaway?useSSL=false"
user="root" password="1Leanest!"
/>
<%
String source = request.getParameter("source");
String destination = request.getParameter("destination");
%>
<sql:query var="listItems" dataSource="${myDB}">
SELECT * FROM flyaway.flightdetails
WHERE SOURCE= <%=source %>;
</sql:query>
我想根據表單中的用戶輸入從 SOURCE 列中的資料庫中過濾,但出現錯誤。
uj5u.com熱心網友回復:
您需要將值用單引號引起來
WHERE SOURCE= '<%=source%>';
但是在jsp中有sql是丑陋的。最好有一個適當的 servlet/preparedStatement 等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/521039.html
標籤:爪哇mysqljsp
