Create方法失效而没有提示错误信息

    public function apply(){        
        $sjscores = D('Sjscores');

        if($sjscores->create()) {
            $sjscores->score_reguired= I('post.score_reguired');
            $sjscores->sno=session('sno');
            $sjscores->score_fileup= I('post.fileup');
            $sjscores = $sjscores->add();

            $this->success('提交成功!');
        }else{
            $this->error($sjscores->getError());
        }    
        }   

问题原因:Html元素的值跟数据库存在大小写差异!!!

(一定要注意html里的name值是否与数据库里的名称一致!!)

参考网络上的经验总结下以下规则可解决以上问题:
  1. HTML中的元素是否指定了name属性且name的值跟数据库中的值完全一致(区分大小写)
  2. 确认HTML表单中的数据正确发送了出去
  3. Model 命名是否错误能否找到对应的表(能否打印了Model对象)
  4. Model类及其成员方法是否是私用或受保护
  5. Model的getError()方法是否有错误
  6. 方法能否接收到POST的值,POST接收到的值跟请求的值是否一致(注意大小写)
  7. 确认遵守了ThinkPHP的开发规范

 

原文地址:https://www.cnblogs.com/ck-999/p/5418568.html