问题描述
- jsp中sql的insert语句问题
-
下面这段话有什么问题,输入已有的用户名会执行“该用户名已存在”,但是输入新的用户名显示注册成功但是数据库里没有新的记录,应该是赋值语句有问题,请问insert语句哪里错了呢
String username=request.getParameter("r_user");
String password=request.getParameter("r_password");
sql=conn.createStatement();
rs=sql.executeQuery("select * from user where username='"+username+"'");
if(!rs.next()){String updateCondition="insert into user(username,password)values('"+username+"','"+password+"')";
out.print("注册成功!");response.setHeader("refresh","2;URL=index.jsp");}else{out.print("该用户名已存在");response.setHeader("refresh", "3;URL=reg2.jsp");}
}
解决方案
如果存在,你只是写了一个sql语句,并没有执行操作update啊,当然不会insert到数据了
而且SQL语句使用拼接的方式会有SQL注入漏洞的,建议改成动态传参的方式
解决方案二:
为什么是if(!rs.next())
解决方案三:
在if(!rs.next()=0){}好像是这么写的吧,你漏了一个=0.。。好像就是说当数据库中数据为空时才会执行以下操作吧。。你试试看
解决方案四:
这不就是简单的验证么?
解决方案五:
sql语句都没执行,楼主还是好好找本jsp的教程来看看,而且sql语句语法也很生疏从你上一提出的问题就看出来
时间: 2024-08-04 14:17:11