为了账号安全,请及时绑定邮箱和手机立即绑定

jsp中sql的insert语句问题

jsp中sql的insert语句问题

DIEA 2019-04-25 18:19:57
下面这段话有什么问题,输入已有的用户名会执行“该用户名已存在”,但是输入新的用户名显示注册成功但是数据库里没有新的记录,应该是赋值语句有问题,请问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");}}
查看完整描述

5 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

如果存在,你只是写了一个sql语句,并没有执行操作update啊,当然不会insert到数据了
而且SQL语句使用拼接的方式会有SQL注入漏洞的,建议改成动态传参的方式

查看完整回答
反对 回复 2019-05-07
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

已经解决了  我从网上找了输出e.printStactTrace()内容的语句,发现我有个列设定了非空并且没设默认值,所以没法添加记录。。。把那列的初始值赋上就好了。。。

查看完整回答
反对 回复 2019-05-07
?
PIPIONE

TA贡献1829条经验 获得超9个赞

为什么是if(!rs.next())


查看完整回答
反对 回复 2019-05-07
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

在if(!rs.next()=0){}好像是这么写的吧,你漏了一个=0.。。好像就是说当数据库中数据为空时才会执行以下操作吧。。你试试看


查看完整回答
反对 回复 2019-05-07
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

sql语句都没执行,楼主还是好好找本jsp的教程来看看,而且sql语句语法也很生疏从你上一提出的问题就看出来


查看完整回答
反对 回复 2019-05-07
  • 5 回答
  • 0 关注
  • 954 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信