自学PHP的第N天,边学习边实战,OMG,哈哈,不断的成长中。。。
上个月接了一个需求,每个月的删除次数上限为5次,查了度娘,需求立马实现,但总感觉会有点隐形bug
第一次代码:
$deleted_data['deleted_time'] = date('Y-m-d H:i:s');//操作时间
查询语句:
select count(*) as total_num from store_sale_deleted
where date_format( "'.$deleted_data['deleted_time'].'", "%Y%m" )
= date_format(curdate( ) , "%Y%m" )
次月检验了下,哎呀,查询的结果怎么都不对,找了一个小时,终于搞明白了,curdate( )这个函数的问题,第一次使用时,度娘出来的,就直接复制粘贴过来了,也没深究下,留下的祸根
CURDATE() 函数返回当前的日期。
第二次代码(简版):
$deleted_data['deleted_time'] = date('Y-m-d H:i:s');//操作时间
查询语句:
$sql = 'select count(*) as total_num from store_sale_deleted
where date_format( "'.$deleted_data['deleted_time'].'", "%Y%m" )
= date_format(deleted_time , "%Y%m" )';
//deleted_time 为表中的日期字段
总结,出现bug的原因是,都是获取的当前时间对比的额