用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1540|回复: 5
收起左侧

紧急求助!!!!

[复制链接]
发表于 2013-12-20 19:17:45 | 显示全部楼层 |阅读模式
我使用CI框架,通过模型插入了1条数据,插入第二条的时候我又从数据库中读取上一条的插入时间,如果大于60秒才再次插入。
但是现在的问题是,数据库中总有间隔小于60秒的数据。我感觉是上一条数据还没有插入,第二条数据又来了,等于他是和上上一条数据进行的时间间隔对比,所以也符合要求,这样就导致插入了时间间隔小于60的数据。请教大神,如果解决这个问题啊?多谢啦。。。
发表于 2013-12-22 00:49:53 | 显示全部楼层
在插入下一条前echo前一条的时间到页面。顺便echo一下当前时间。

调试。
 楼主| 发表于 2013-12-22 20:22:15 | 显示全部楼层
打印过日志,就是通过日志发现是这个原因的。不知道为什么CI在操作入库的时候,还缓存了下。
 楼主| 发表于 2013-12-22 20:22:29 | 显示全部楼层
dren_a 发表于 2013-12-22 00:49
在插入下一条前echo前一条的时间到页面。顺便echo一下当前时间。

调试。

打印过日志,就是通过日志发现是这个原因的。不知道为什么CI在操作入库的时候,还缓存了下。
发表于 2013-12-22 23:00:56 | 显示全部楼层
这个跟ci没关系吧,我的理解是重复插入了,可能是点击两次,可以Js限制下,或者插入一个验证码,隐藏字段都可以。
发表于 2013-12-31 11:14:41 | 显示全部楼层
白鹿小子 发表于 2013-12-22 20:22
打印过日志,就是通过日志发现是这个原因的。不知道为什么CI在操作入库的时候,还缓存了下。
...

可能是active record的问题。你是不在上一次用了$this->db->xxx()啥的,但是没有$query=$this->db->get('***'),然后$query->result()啥的,这样上面的xxx()就会留到下一次$query再执行。

本版积分规则