What should I do if ThinkPHP fails to add data to the database?
Generally, several aspects will be checked first:
· Check whether the controller or Model name is incorrect.
·Check whether the data to be inserted is empty or missing parameters.
·Check the data table name and field name (most of the time, the field name is wrong).
If you check repeatedly and find that the data to be inserted is normal and the field names and table names are correct, you may wonder if the program has lost its temper and you need to quit and start again? Restart? Try again? After struggling like this for a long time, you find that nothing has changed. At this time, you should consider other situations.
Related recommendations: "ThinkPHP Tutorial"
fields field caching
When using the ThinkPHP framework for development, there are data structures When making changes, when calling the M()->add() method to insert data, the insertion always fails and some field contents are lost. So if you print out the model object and look carefully, you will find that the lost fields are all newly added fields. You will think of cache, so you can clear all the cache files in the runtime and insert it normally.
TP If the field cache setting [TMPL_CACHE_ON => false] is not turned off in the configuration file, this configuration means whether to turn on the template compilation cache. If set to false, it will be recompiled every time. The default is turned on. , as soon as it is run, it will cache the data field information to the ~Runtime/Data/_files folder, and store it in the file as an array. Just close it if you don’t need it.
·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
· System behavior extension: template parsing, check whether the cache file is valid, if it is invalid, it needs to be recompiled, 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; }
The above is the detailed content of What to do if thinkphp fails to be added to sql. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver CS6
Visual web development tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
