
正文
thinkphp字段默认值,thinkphp pathinfo
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
thinkphp中save函数的意思和用法?
1、thinkphp为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含主键字段的话,save方法不会更新任何数据库的记录。所以我猜测你的form表单中没有传递id(不包含主键)的值,或者没有任何更新条件,最终导致你save()方法没有效果。
2、注意:save方法的返回值是影响的记录数,如果返回false则表示更新出错,因此一定要用恒等来判断是否更新失败。
3、这是一个自定义的函数,名为save,没有返回值。一般这样的函数是把定义为全局变量的变量值保存到磁盘上或是直接输出(照函数名save的意思是直接存盘)。所以就没有形式参数表,也没有函数返回值。
4、使用以下语句输出执行的SQL语句,然后直接把这个语句拿到数据库执行看看,报什么错。
5、这是我项目中的一个thinkphp方法,如果不覆盖原图那修改save中的文件名为新名称就可以。
6、应该是没有默认值的,看看是不是数据库中相应字段属性误操作为有默认值了。
相关问答
Q1: thinkphp里面的add方法为什么我插入错误的表字段还是可...
应该是没有默认值的,看看是不是数据库中相应字段属性误操作为有默认值了。
其实很简单,在你用M实例化一个Model对象的时候,所有的Model都是继承Thinkphp的Model模型类。而在model模型类中有一个魔术方法__set,如果你对面向对象的魔术方法有了解的话,就知道__set是为不存在的属性进行赋值。
:你的数据表中id是不是设置了主键?那你每次插入$id都是同一个值的话,肯定是插入失败的。把id设置成自动增长,把 $data[id]=$id;删除掉,看看先。
尽管在操作中,执行了 add() 操作将数据写入了数据表,但这时会发现自动验证与自动填充无效。出现这种情况时,只需将操作类型显式的传入 create() 方法即可,即 create($_POST,1),告诉系统本次操作为写入数据。另外如果传入的数据不是 $_POST ,也要将数据当作参数传入,如 create($_GET)。
你在插入之前要先对数据进行一次过滤也就是逻辑上得唯一判断后再作入库处理,否则提示已存在不插入即可。
这种情况你应该去检测一下你的conf里面的配置文件是否正确,第一就是数据库链接信息,第二就是db_prefix 这个配置,这个配置是数据库前缀名,默认是tp_把。
Q2: thinkphp缓存字段有什么用
1、缓存的作用是减轻数据库压力和加快数据读取速度。首先,第一次进页面缓存中肯定没有数据,进入页面后先判断缓存中是否有数据,若有:则从缓存中获取数据,若无:从数据库获取数据,并写入缓存。第二次进来判断的时候,缓存中就有数据了,直接从缓存中返回数据,不进行数据库操作。
2、数据库数据缓存技术:数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。
3、thinkphp会对数据库表的字段和你的配置文件还有common,php文件进行缓存,所以每次修改数据库字段或者配置文件,或者common.php文件都需要删除缓存,缓存在runtime文件夹下面,我为了方便,每次都是将整个runtime删除,反正他自己又会重新建立,对了,还有模板标签中的include也要删除缓存才会生效。
4、缓存机制:系统支持包括文件方式、APC、Db、Memcache、Shmop、Eaelerator和Xcache在内的多种动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。类库导入:ThinkPHP是首先采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入。
5、ThinkPHP在数据缓存方面包括文件方式、共享内存方式和数据库方式在内的多种方式进行缓存,通过插件方式还可以增加以后需要的缓存类,让应用开发可 以选择更加适合自己的缓存方式,从而有效地提高应用执行效率。
6、使用缓存的场景大概是符合这一点:数据改变的频率不快。也就是说:一个数据,如果好几个小时,甚至好几天都不发生改变,那么就可以使用缓存。
Q3: 请问怎么在Thinkphp对数据进行修改的时候保存操作时间?
找到ThinkPHPCommonconvention.php和ThinkPHPCommondebug.php 打开这两个文件找到你想要的设置即可。
可以加个$arr[addtime] = time();或date函数Date(Y-m-d H:i:s) 也可在模型中配置自动添加时间。
还有一种方法是通过create或者data方法创建要更新的数据对象,然后进行保存操作,这样save方法的参数可以不需要传入。
onethink里有这个功能,记录操作日志的,可以参考一下,需要先把所有需要记录的行为添加一下,这个工作量巨大,如果每个行为都要记录的话···所以一般都是把重要的记录就可以了。
关于thinkphp字段默认值和thinkphp pathinfo的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






