带增量运算符的动态mySQL查询

时间:2016-09-23 08:13:00

标签: java mysql sql

我正在尝试创建在线测验应用程序。我有一个问题表,问题和选项。要求是一次在UI中显示一个问题和ans,当用户点击下一个时,进入另一个。我有下面的代码,但当我把'i'时,选择查询不起作用。我试着把1只用于调试和工作。

  <form  name="myform">  

    <table>
<%
try
{
Class.forName("com.mysql.jdbc.Driver");
String localhost="jdbc:mysql://localhost:3306/pr1";
Connection  connection=DriverManager.getConnection(localhost, "root", "root"); 
Statement st=connection.createStatement();

int i= 1;

ResultSet rs=st.executeQuery("select * from question where Qno=i");    
while(rs.next())
{
%>
            <tr><td> <%=rs.getString("question")%></td></tr>
            <tr><td><br/></td></tr>
            <tr><td style="padding: 10px;">A .&nbsp;<input type="radio" name="option" value="optionA"/><%=rs.getString("optionA")%></td></tr>
            <tr><td style="padding: 10px;">B .&nbsp;<input type="radio" name="option" value="optionB"/><%=rs.getString("optionB")%></td></tr>
            <tr><td style="padding: 10px;">C .&nbsp;<input type="radio" name="option" value="optionC"/><%=rs.getString("optionC")%></td></tr>
            <tr><td style="padding: 10px;">D .&nbsp;<input type="radio" name="option" value="optionD"/><%=rs.getString("optionD")%></td></tr>
            <tr><td><br/></td></tr>
            <tr><td><input type="submit" name="next" value="Next"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="submit" value="Previous"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <input type="submit" value="Test Summary"/></td></tr>
<%
}
%>
  </table>
<%
   if(request.getParameter("next")!=null)
  {i++;
  System.out.print(i);
  }
     rs.close();



    st.close();
    connection.close();
    }
catch(Exception e)
{

    e.printStackTrace();
    }

%>
  </form>

1 个答案:

答案 0 :(得分:0)

Java不是php,它不会在包含sql命令的字符串中扩展变量scanf("%d",(int*)&b)

最简单的形式是使用字符串连接:

i

如果从用户那里获得任何参数,那么使用带参数的预准备语句来避免sql注入。