Java 为什么这个语句rs=st.executeQuery(查询);这不是执行吗?如何从两个表中仅选择一个表dependent input type=radio from mysql?

Java 为什么这个语句rs=st.executeQuery(查询);这不是执行吗?如何从两个表中仅选择一个表dependent input type=radio from mysql?,java,jquery,mysql,sql,spring-jdbc,Java,Jquery,Mysql,Sql,Spring Jdbc,为什么这个查询rs=st.executeQuery(查询);是否未执行以从数据库中选择表 String gender = request.getParameter("gender"); if (gender != null) { String table = gender.equals("teacher") ? "teacher2" : "student"; String query ="select username,password from " +table+ " whe

为什么这个查询
rs=st.executeQuery(查询)
;是否未执行以从数据库中选择表

  String gender = request.getParameter("gender");
  if (gender != null) {
  String table = gender.equals("teacher") ? "teacher2" : "student";

  String query ="select username,password from " +table+ " where username='"+name+"' AND password='"+abc+"'";

  rs=st.executeQuery(query);  //Why This statement having error
  }
Mysql查询对于这个表,我认为这个查询是错误的

 "select username,password from "+table+" where username='"+name+"' AND password='"+abc+"'";
我有两个表,一个是给老师的,一个是给学生的,两个表都有相同数据类型的相同列

如何从mysql数据库中选择表进行登录。我有两个表,一个是学生表,一个是教师表,如果用户选择教师,单选按钮并输入用户名和密码,如果用户用户名和密码等于mysql数据库用户名和密码,他将获得登录权限,如果学生选择学生电台,则获得登录权限,但如果用户名和密码,则输入用户名和密码,密码等于mysql用户名的学生表,他将获得登录密码

为什么不执行此查询来选择表

rs=st.executeQuery(查询)

出现错误的图像

//错误

index.jsp

 <form  method="GET " action="statement.jsp" autocomplete="on"> 

 <input id="username" name="username" required="required" type="text" placeholder="Username"/>
 <input id="password" name="password" required="required" type="password" placeholder="Password" /> 

 <input type="radio" name="gender" value="teacher" checked/> Teacher
 <input type="radio" name="gender" value="Student"/>Student

 <input type="submit" value="Login" /> 
 </form> 
Stacktrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
字符串中缺少空格:

"select * from " +table+ " where username like '"+name+ "'" AND password like '"+abc+" '
在第一个字符串中添加空格,您将得到正确的查询。然后再试一次

而且,您不应该对SQL使用字符串连接,因为它容易受到SQL注入攻击。而是使用查询参数

有关如何执行此操作的更多信息,请阅读此处:
“从“+”表+”中选择*,其中用户名为“+”名称为“+”,密码为“+”abc+”
'

U应调用以下格式列的值

 ' " + variablename + " '

仍然存在此
rs=st.executeQuery(查询)的错误
org.apache.jasper.jaspereException:JSP:/statement.JSP:29
rs=st.executeQuery中的异常您可以单击第一个图像查看错误。@Rajpotrana您是否按照我给您的方式更新了字符串?是的,但仍然存在此错误
rs=st.executeQuery(查询)
@rajpotrana你能复制并粘贴问题中的错误而不是问题中的错误吗image@Jens为什么这个查询rs=st.executeQuery(查询);是否未执行以从数据库中选择表?
 HTTP Status 500 -
 type Exception report
 message
 description The server encountered an internal error () that prevented it from fulfilling this request.
 exception

 org.apache.jasper.JasperException: Exception in JSP: /statement.jsp:29

 26:    String table = gender.equals("teacher") ? "teacher2" : "student";
 27:    // replace dots with your values
 28:     String query ="select * from " +table+ "where username='"+name+"' AND password='"+abc+"'";
 29:     st.executeQuery(query); 
 30:     
"select * from " +table+ " where username like '"+name+ "'" AND password like '"+abc+" '
 ' " + variablename + " '