问题描述
- mysql使用jsp中变量为查询条件
-
小的刚学jsp,希望各位网友多多指教。
问题是这样的:
b.jsp 从a.jsp接收了一个变量 txtMsg
已经输出验证txtMsg接收成功。<% request.setCharacterEncoding("utf-8"); String txtMsg = request.getParameter("test2"); out.println(txtMsg); %>
接下来想使用这个txtMsg作为sql查询的条件
ResultSet rs=stmt.executeQuery("select name from product where picture=‘“+txtMsg+”’");
但在页面上却不显示数据。。。也不报错。。实在苦恼
<%while(rs.next()){ %> <%=rs.getString("name") %> <%}%>
请大家帮忙看看是哪里出错啦~
万分感谢
解决方案
估计是报错了,但你把逻辑代码写在了前端,这不太合适。。。可能因此没报错
、
真正的项目中,数据库操作是要写在后端的DAO中的,看你应该是刚学,用的还是Servlet,那你就在Servlet中获取参数,调用DAO类中的方法,TRY/CATCH来看。。。
另外,如果你非要看是哪错了,我觉得是数据库连接上的问题
解决方案二:
后台负责处理,不要给前台压力
解决方案三:
打开控制太看看,估计会显示 txtMsg 没定义,我一般会把txtMsg 放到pagecontext中,然后通过el表达式获取。这里有jdbc操作mysql数据:http://blog.csdn.net/qq_19558705/article/details/49947317
传值问题:http://blog.csdn.net/qq_19558705/article/details/50329557
解决方案四:
是不是这个原因:
‘“+txtMsg+”’
sql语句中用了中文的单引号和双引号的原因改过后的:
"select name from product where picture='"+txtMsg+"'"
时间: 2024-10-29 18:38:14