在添加用户时如何防止“往数据库中写入数据时出错却仍提示添加成功”?

在添加用户时如何防止“往数据库中写入数据时出错却仍提示添加成功”?

比如,用户名已经存在,创建的最后,就会报错,却还是提示创建成功,我尝试用try规避无果。请老师指点。http://img1.sycdn.imooc.com//climg/5ed9ab6909cee44905710360.jpg

我的代码如下,为什么明明会报错,但try语句却无效?

http://img1.sycdn.imooc.com//climg/5ed9abd10973ed7308030283.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学,你好。

1、报错是在insert_user()方法中报的错误,而在insert()方法中已经捕获异常,后边的代码会继续执行,因此会输出"新用户创建成功"

http://img1.sycdn.imooc.com//climg/5ed9ed7f09b83d6709970522.jpg

2、同学可以使用第二种方法,先得到数据库中的用户名,然后判断新输入的用户名是否存在,若存在则重新输入,若不存在,则继续执行输入密码等操作

3、会先得到表中的用户名,然后再将输入的用户名与已有的用户名进行判断看是否存在

如果我的回答解决了您的疑惑。请采纳!祝学习愉快~~~~

提问者 江民川 2020-06-05 10:23:51

烦请老师先讲下try没用的原因。

然后我也有其他思路来实现这个逻辑,比如:

①判断用户表内count个数是否+1,如没有,则提示创建失败。

②在输入创建的用户名时,遍历用户表内所有用户,如存在相同的情况,则输入用户名时就报错。

再请老师点评一下哪种方法好。

  • 提问者 江民川 #1
    我的理解暂时认为: 判断用户表内count+1,在线程少的时候很不错,但如果很多添加的线程一起操作,可能会识别数量错误。 遍历用户名的话,则即使线程很少,也会占用很多资源进行全表查询。
    2020-06-05 10:29:03
  • 提问者 江民川 #2
    许多网站软件里注册时判断用户名是否已经存在一般是使用什么原理呢?
    2020-06-05 10:30:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师