关于一个request.getParameter()传值的问题
各位大侠 我这个问题很简单,虽然我描述的可能多了些 ……但小弟恳求你们的帮助
我的access数据库中有一些是这样的
序号 姓名 密码
200900 管理员 111
我现在想改管理员密码。
通过response.sendRedirect("success.jsp?passw="+a)传值给success.jsp。在success.jsp中,用String c=request.getParameter("passw")来接收。
我在success.jsp中用以下语句 来修改密码
sql = "UPDATE jl SET 密码 = c WHERE 序号='200900'";
i=stmt.executeUpdate(sql);
可最后输出新的密码的时候,为什么输出的新密码为c;而不是在表单里输入的密码呢 请高手指点 难道是我sql语句写错了吗谢谢
{说明:String a=request.getParameter("ps1")};ps1为输入新密码的表单名称。
------解决方案--------------------
常规错误,应该是:
sql = "UPDATE jl SET 密码 = '"+c+"' WHERE 序号='200900'";
当然,这样会有SQL注入漏洞,正确写法要用PreparedStatement:
sql = "UPDATE jl SET 密码 = ? WHERE 序号='200900'";
然后set参数进去。