【发布时间】:2014-06-04 12:14:22
【问题描述】:
我想从我的数据库中检索信息。我使用html从用户那里动态获取输入,并通过jsp从数据库(Mysql)中获取信息。以下是jsp代码
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/indi", "root", "");
Statement statement = connection.createStatement();
String id1 = request.getParameter("id");
ResultSet resultset = statement.executeQuery("select * from books where author = '" + id1 + "'") ;
if(!resultset.next()) {
out.println("Sorry, could not find that publisher. ");
} else {
%>
<TABLE BORDER="1">
<TR>
<TH>name</TH>
<TH>author</TH>
<TH>money</TH>
<TH>company</TH>
</TR>
<TR>
<TD> <%= resultset.getString(1) %> </TD>
<TD> <%= resultset.getString(2) %> </TD>
<TD> <%= resultset.getString(3) %> </TD>
<TD> <%= resultset.getString(4) %> </TD>
</TR>
</TABLE>
<BR>
<%
}
}
%>
我使用作者作为关键字来检索数据。现在我的数据库中有 2 个同名作者,但上面的代码只获取一个作者信息,即第一个,它留下另一个。我应该在哪里修改这段代码,以便它同时检索数据
【问题讨论】:
-
你的代码容易被SQL注入!!不要那样做!! owasp.org/index.php/SQL_Injection 即使对于测试或自制软件,它也会造成坏习惯!使用准备好的语句!如果您将不同的值传递给:“id”参数,它会。
-
获取列表而不是单个作者的详细信息,而不是迭代它
标签: javascript jsp