摘要
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);
后来发现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 条