TP 数据没有变动调用save方法失败的解决方法

时间:2022-06-28 15:38:34

thinkphp 调用save方法时,如果数据未曾有改动就会报错

打印一下$cped,发现有数据变动时 $cped 的值是int1,没有数据变动时$cped 的值是 int0

在if条件中加上($cped || ($cped == 0))的情况就可以避免报错

如果担心sql语句出错,可以用getDbError 来判断

$cp->getDbError();  

解决方法如下:

            $cpno['bc_number']=$number;
            $cp=M('CreateCard');
            $cpf=$cp->where($cpno)->find();
            if($cpf){
            $cped=$cp->where($cpno)->data($cpe)->save();
                if($cped || ($cped == 0)){
                    return array( "status"=>true,"msg"=>'开卡查询进度保存成功!' );
                }else{
                    return return_error('开卡查询进度保存失败!');
                }

《注:自写代码,仅供参考,如有错,请大神不吝赐教!》