搜索
首页php框架ThinkPHPthinkphp添加到sql失败怎么办

thinkphp添加到sql失败怎么办

Aug 22, 2019 pm 03:37 PM
sqlthinkphp失败添加

thinkphp添加到sql失败怎么办

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添加到sql失败怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具