此错误表示 java.sql.SQLException:列索引超出范围,3 > 1


String sess_user = session.getAttribute("userid").toString();
out.println(sess_user);
try{  
      String connectionURL = "jdbc:mysql://localhost:3306/books";// books is the database  
      Connection connection = null;
      Class.forName("com.mysql.jdbc.Driver");  
      connection = DriverManager.getConnection(connectionURL, "root", "bonnysingh");  
      Statement st = connection.createStatement();
      ResultSet rs=st.executeQuery("select email from signup where UserName = '" + sess_user +"'");
          while(rs.next()){
          userEmail = rs.getString(3);
          }
}
    catch(Exception ee){
        out.println(ee);
    }
out.println("Hello");
out.println(userEmail);

userEmail的输出总是null。我不知道这里有什么问题。但我认为while(rs.next())循环没有正确执行。谁能告诉我哪里出错了?

您只选择了一列,但您试图访问结果中的第三列。

getString(3)改成getString(1),应该没问题。

最新更新