mysql 设置phone字段为唯一 后 插如一条记录成功 再插入一条手机号一样的记录sql语句报错 而不是返回插入错误!怎么办

mysql 设置phone字段为唯一 后 插如一条记录成功 再插入一条手机号一样的记录sql语句报错 而不是返回插入错误!怎么办

$User=M('User');
        $result=$User->add($data);
           if($result){
          $da['code']='1';
          $da['message']="注册成功";
          $da['token']=$data['token'];
               echo json_encode($da);
           }else{
          $da['code']='0';
          $da['message']="手机已注册";
          $da['token']="null";
               echo json_encode($da);
           }```
阅读 3.9k
5 个回答

这个就没必要mysql 来处理啊,自己入库前,先查一遍,

注册前先判断是否存在改记录咯

这种需求应该在程序中处理。当然,如果设计在数据库了,应当抑止PHP操作MySQL所产生的错误(不提倡,这样做的话所有的MySQL错误都会被忽略),才会返回错误

这算数据库操作类抛出的异常!所以直接中断了。

你需要INSERT ... ON DUPLICTE KEY UPDATE

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题