【发布时间】:2012-11-19 10:17:14
【问题描述】:
我想从列号中获取字符串。 4 从我的数据库中检查用户权限。
我可以使用rs.getString(index) 从第 4 列获取数据吗?
我想检查用户的权限...所以如果列数据等于 4,页面将被重定向到 AdminControlPanel.jsp
但是,这段代码不起作用:(
String user=request.getParameter("login");
String pass=request.getParameter("password");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/android","root","root");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from users where login='"+user+"' and password='"+pass+"'");
String p = rs.getString(4);
int count=0;
while(rs.next()){
count++;
}
if(count>0 && p == "4"){
// out.println(rs);
response.sendRedirect("AdminControlPanel.jsp");
}
else{
out.println("aaa");
response.sendRedirect("#");
}
}
catch(Exception e){
System.out.println(e);
}
【问题讨论】:
-
这段代码怎么不起作用?有什么错误吗?不是预期的结果?请解释一下。
-
不要选择'*',只选择你实际使用的列。还可以使用准备好的语句并清理输入。
-
代码看起来很好什么,是的,你可以直接取任何列的值,你面临的错误是什么???