thinkphp添加到sql失败怎么办

发布时间 - 2019-08-22 00:00:00    点击率:

ThinkPHP添加数据到数据库失败怎么办?

一般情况下会先检查一下几个方面:

·检查控制器或Model名是否有误。

·检查需要插入的数据是否为空或者缺失参数。

·检查数据表名及字段名称(大部分下都是字段名有误出错的)。

如果反复检查,需插入的数据是正常的,字段名表名也没有错误,你可能会想是不是程序耍脾气了,退出重来?重启一下?重来试一下?就这么折腾半天发现并没有什么改变,这时候你该考虑一下其他情况了。

相关推荐:《ThinkPHP教程》

fields字段缓存

使用ThinkPHP框架做开发时,有数据结构改动时,调用 M()->add()方法插入数据时,总会插入失败,丢失掉部分字段内容,于是将模型对象打印出来仔细查看,会发现丢失的字段都是新增加的字段,你就会联想到缓存了,于是你将runtime里面的缓存文件都清除掉就可以正常插入了。

TP在配置文件中如果没有关闭字段缓存设置 [TMPL_CACHE_ON => false],该配置的意思是是否开启模板编译缓存,设为false则每次都会重新编译,默认是开启的,只要一运行它就会将数据字段信息缓存到~Runtime/Data/_files 文件夹下,并以数组方式存放在文件中,不需要就关闭好啦。

·debug.php

  return  array(
     'LOG_RECORD'=>  true,  // 进行日志记录
     'LOG_EXCEPTION_RECORD'=>  true,    // 是否记录异常信息日志
     'LOG_LEVEL'=>  'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL',  // 允许记录的日志级别
     'DB_FIELDS_CACHE'=>  false, // 字段缓存信息
      'DB_DEBUG'=>  true, // 开启调试模式 记录SQL日志
      'TMPL_CACHE_ON'=>  false,        // 是否开启模板编译缓存,设为false则每次都会重新编译
      'TMPL_STRIP_SPACE'=>  false,       // 是否去除模板文件里面的html空格与换行
      'SHOW_ERROR_MSG'=>  true,    // 显示错误信息
      'URL_CASE_INSENSITIVE'=>  false,  // URL区分大小写
   );

·convention.php

  // 布局设置
  'TMPL_ENGINE_TYPE'      =>  'Think',     // 默认模板引擎 以下设置仅对使用Think模板引擎有效
  'TMPL_CACHFILE_SUFFIX'  =>  '.php',      // 默认模板缓存后缀
  'TMPL_DENY_FUNC_LIST'   =>  'echo,exit',    // 模板引擎禁用函数
  'TMPL_DENY_PHP'         =>  false, // 默认模板引擎是否禁用PHP原生代码
  'TMPL_L_DELIM'          =>  '{',            // 模板引擎普通标签开始标记
  'TMPL_R_DELIM'          =>  '}',            // 模板引擎普通标签结束标记
  'TMPL_VAR_IDENTIFY'     =>  'array',     // 模板变量识别。留空自动判断,参数为'obj'则表示对象
  'TMPL_STRIP_SPACE'      =>  true,       // 是否去除模板文件里面的html空格与换行
  'TMPL_CACHE_ON'         =>  true,        // 是否开启模板编译缓存,设为false则每次都会重新编译
  'TMPL_CACHE_PREFIX'     =>  '',         // 模板缓存前缀标识,可以动态改变
  'TMPL_CACHE_TIME'       =>  0,         // 模板缓存有效期 0 为永久,(以数字为值,单位:秒)
  'TMPL_LAYOUT_ITEM'      =>  '{__CONTENT__}', // 布局模板的内容替换标识
  'LAYOUT_ON'             =>  false, // 是否启用布局
  'LAYOUT_NAME'           =>  'layout', // 当前布局名称 默认为layout

·系统行为扩展:模板解析,检查缓存文件是否有效,如果无效则需要重新编译,ParseTemplateBehavior.class.php

  protected function checkCache($tmplTemplateFile,$prefix='') {
  if (!C('TMPL_CACHE_ON')) // 优先对配置设定检测
      return false;
  $tmplCacheFile = C('CACHE_PATH').$prefix.md5($tmplTemplateFile).C('TMPL_CACHFILE_SUFFIX');
  if(!Storage::has($tmplCacheFile)){
      return false;
  }elseif (filemtime($tmplTemplateFile) > Storage::get($tmplCacheFile,'mtime')) {
      // 模板文件如果有更新则缓存需要更新
      return false;
  }elseif (C('TMPL_CACHE_TIME') != 0 && time() > Storage::get($tmplCacheFile,'mtime')+C('TMPL_CACHE_TIME')) {
      // 缓存是否在有效期
      return false;
  }
  // 开启布局模板
  if(C('LAYOUT_ON')) {
      $layoutFile  =  THEME_PATH.C('LAYOUT_NAME').C('TMPL_TEMPLATE_SUFFIX');
      if(filemtime($layoutFile) > Storage::get($tmplCacheFile,'mtime')) {
          return false;
      }
  }
  // 缓存有效
  return true;
  }


# thinkphp  # php  # sql  # 数据结构  # class  # 对象  # 数据库  # 设为  # 都是  # 重来  # 换行  # 有什么  # 放在  # 也没  # 不需要  # 半天 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网站制作免费,什么网站能看正片电影?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel如何使用Collections进行数据处理?(实用方法示例)  中国移动官方网站首页入口 中国移动官网网页登录  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  南京网站制作费用,南京远驱官方网站?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  海南网站制作公司有哪些,海口网是哪家的?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  制作旅游网站html,怎样注册旅游网站?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何快速打造个性化非模板自助建站?  如何用JavaScript实现文本编辑器_光标和选区怎么处理  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  北京专业网站制作设计师招聘,北京白云观官方网站?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  JS去除重复并统计数量的实现方法  智能起名网站制作软件有哪些,制作logo的软件?  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  如何在万网自助建站中设置域名及备案?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  ,在苏州找工作,上哪个网站比较好?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何在VPS电脑上快速搭建网站?  如何快速建站并高效导出源代码?  原生JS实现图片轮播切换效果  太平洋网站制作公司,网络用语太平洋是什么意思?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  linux写shell需要注意的问题(必看)  黑客如何利用漏洞与弱口令入侵网站服务器?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  制作公司内部网站有哪些,内网如何建网站?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Laravel如何实现事件和监听器?(Event & Listener实战)  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Laravel怎么在Controller之外的地方验证数据  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  如何快速生成高效建站系统源代码?  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  如何撰写建站申请书?关键要点有哪些?