emlog6.0新版的一个不能是说BUG的BUG

emlog6.0新版的一个不能是说BUG的BUG

阅读858评论0
特征:
免费

所有作品,均为手写代码。部分样式或代码移植或仿造自互联网(如有侵权,出示著作权证书联系博主删除),所有代码不能用于非法站点(色情、暴力、博彩、政治类站点)。请尊重作者的劳动成果!

购买/下载暂无演示 分享海报

emlog6.0出来后,下载了试试,在升级版本的时候,同步了下之前一直使用的插件。

后来发现tag报错,,

报错文件:/include/model/tag_model.php

报错位置:方法getBlogIdsFromTagId,大约333行


BUG分析:

    可能是我升级的方式不对或者升级不完全,报错的时候查看原来的文章,tag标签都是空的。。

问题就是出现在这里,不知道为什么文章表的tag都空了,当时也是迷迷糊糊的不在状态。。再去看tag表,关联文章ID的字段内容有空ID,内容举例如:,2,3

    

    再看方法getBlogIdsFromTagId,这个是根据tagID或者关联的文章ID,方法没问题,最后return的时候出问题了,两个if判断用来判断是否有数据并且gid不是空,然后用“,”分割字符串返回array


    现在问题出来了,因为我的tag表的gid字段有空ID,分割的时候就是有空元素。tag获取文章列表那里(具体哪个方法忘记了。。)在调用此方法并且组装sql的时候,in用法的语句就错误了。。

    错误用法如:in(,2,3)


BUG修复:

    OK了,现在整个流程清楚了,问题源找到了,修复方法很简单,只需要在getBlogIdsFromTagId方法return的时候过滤一下数组的空元素即可

    参考修复方案:return array_filter($blogs);


0 位网友评论:

欢迎来评论

请填写验证码

1、通过本站购买模板/插件/源码,均享有永久售后服务(仅软件现有功能,不包含开发新增)

2、文章中都有说明教程,在使用过程中遇到问题可以咨询博主。

3、静态HTML页面模板可转换成CMS模板,服务费用100元一页(总费用可协商)。

4、本站的静态HTML页面模板凡超过400元的可免费转换CMS模板一次。

5、购买源码类提供一次免费安装服务(需提供服务器或主机信息)。

6、模板/插件/源码二次打开,此服务按量收费,如有需要,请先和博主商谈报价。

7、自定义模板服务每页100元,如需多终端兼容,每页150元。

8、定制插件服务,300元起(具体看功能需求)。

9、定制系统服务,请整理需求文档和预算,价格具体和博主协商。

10、若有其他问题的网友可联系博主沟通,博主会的一定教(如果问题很复杂,请详谈劳务费哈)。