我在mysql数据库中有两个表,一个用于学生,一个用于教师。两个表都有相同的列。
以下代码仅将数据插入教师的表格。如果用户选择教师的单选按钮,则注册数据应存储在教师的表中。如果用户选择学生的收音机,那么注册数据应存储在学生的表中。我的jsp / jdbc代码出了什么问题?什么是解决方案?
这个查询有什么问题。为什么这个查询只在mysql的student表中插入数据而不是在teacher2表中。 选择教师/学生单选按钮
收音机但不起作用
RPF
问题在这里
String gender = request.getParameter("gender");
if (gender != null) {
String table = gender.equals("teacher") ? "teacher2" : "student";
// replace dots with your values
String query = "INSERT INTO " + table + "(firstname,lastname,username,password,confirmpassword,email,month,day,year,gender) VALUES ('"+name+"','"+abc+"','"+cde+"','"+pass+"','"+confpass+"','"+emails+"','"+months+"','"+day+"','"+year+"','"+gender+"')";
st.executeUpdate(query);}
//但数据插入mysql
的index.jsp
st.executeUpdate(query);
statement2.jsp
<form method="GET " action="statement2.jsp" autocomplete="on">
<input type="radio" name="gender" value="teacher" checked/> Teacher
<input type="radio" name="gender" value="Student"/>Student
<input type="submit" value="Login" />
<input type="button" onclick="location.href='reg.jsp';" value="Sign Up" />
</form>
reg.jsp //注册的注册页面
<%
String name=request.getParameter("first");
String abc=request.getParameter("last");
String cde=request.getParameter("user");
String pass=request.getParameter("password");
String confpass=request.getParameter("confirmpass");
String emails=request.getParameter("email");
String months=request.getParameter("month");
String day=request.getParameter("day");
String year=request.getParameter("year");
String gender = request.getParameter("gender");
if (gender != null) {
String table = gender.equals("teacher") ? "teacher2" : "student";
// replace dots with your values
String query = "INSERT INTO " + table + "(firstname,lastname,username,password,confirmpassword,email,month,day,year,gender) VALUES ('"+name+"','"+abc+"','"+cde+"','"+pass+"','"+confpass+"','"+emails+"','"+months+"','"+day+"','"+year+"','"+gender+"')";
st.executeUpdate(query);} // problem is here
%>
db conn.jsp //此文件用于数据库连接
<form method="GET" action="statement2.jsp" autocomplete="on">
<input id="firstnamesignup" name="first" required="required" type="text" placeholder="First" />
<input id="lastnamesignup" name="last" required="required" type="text" placeholder="Last" />
<select name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</form>
答案 0 :(得分:0)
我认为这里的问题不在于查询,而是在参数性别值上,您编码的条件运算符$('.listing_address').hover(function(ev) {
var mouEnt = ev.type === "mouseenter",
listing = $(this).closest('.listing');
listing.find('.glass').fadeToggle(500);
listing.find('.house').animate({left: mouEnt ? 25 : 10});
listing.toggleClass('open');
});
决定了应该插入哪个表,然后将表变量与它的查询,所以我的结论是性别参数没有返回“老师”值,这使得表变量总是“学生”。我建议您先检查性别返回的参数。