您好,欢迎访问一九零五行业门户网

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失败怎么办的详细内容。
其它类似信息

推荐信息