关于修复ECSHOP商品购买记录的一个BUG
2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家
在ECSHOP程序商品购买记录里面的。查询sql语句中:
代码是:
AND ' . time() . ' - oi.add_time < 2592000
这里用的是time(),而add_time生成的时候是gmtime(),时间不一致。
如果用户设置时区是西区,time()比gmtime()小,就可能产生负数,造成溢出错误( `add_time` int(10) unsigned NNULLFAULT '0',)。
应该改为: AND oi.add_time > '.gmtime().' - 2592000
让ECSHOP时间要保持一致。
另外,把判断字段单独放前面,计算放后面,这是写sql的基本原则。如果add_time有索引的话,这样写还能用上索引。
最近更新
常用插件
- ecshop2.7.1邮件发送插件
ecshop2.7.1邮件发送插件:该插件主要的开发思想是源于ecshop短信发送系统...
- ecshop2.7.2生成虚拟订单2.
以前我们开发过ecshop下的虚拟订单,就是客户在访问的时候,会自动生...
- ecshop没登陆情况下订单查
ecshop没登陆情况下订单查询插件,主要是针对ecshop在没有登陆的情况下...
- ecshop最小购买数量控制插
ecshop最小购买数量控制插件,这个插件主要是为我们提供一个十分方便...
- ecshop二次开发商品购买增
图片1香...