请教thinkphp问题,插入数据,如果因为重复问题而不成功,如何输出错误信息?

  $newinfo = $tbl_info->add($data4add); // 插入新订单
  echo $newinfo;

比如这样,如果插入是某个唯一字段重复而没插入的话$newinfo是空的,这时候怎么输出"xx字段重复而未能插入"这样的信息?
用判断$newinfo为空来输出"错误:重复"不准确吧?

阅读 2.7k
3 个回答

插入前加判断

数据库给字段加唯一索引,比如手机号。如果有重复的,就会insert失败并且返回false;

你只给 $newinfo 判断 为空 or false 显示是否重复肯定是不准确的。
唯一办法,你只能在出入数据前,把唯一数据查询一次,重复的话,直接抛异常,某某数据重复,否则提交新的数据。
如果是涉及到并发提交的问题,可以结合事务或则锁事件来处理。

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