PHPCMS V9评论报数据库错误的修复

代码笔记   2014-03-29 17:02:30

           最新版的V9评论当catid不存在或catid存在,但是modelid=0会报数据库错误,就连官方网站都如此,包括了官网,官网帮助网站v9.help.phpcms.cn和官方演示站都出现这类错误  

修复方法:
1、打开phpcms\modules\content\classes\comment_api.class.php 查找:function get_info($module, $contentid, $siteid) ,大概在16行。
查找并且需要更换的内容:
function get_info($module, $contentid, $siteid) {
list($module, $catid) = explode('_', $module);
if (empty($contentid) || empty($catid)) {
return false;
}
$this->db->set_catid($catid);
更换为的内容:

function get_info($module, $contentid, $siteid) {

list($module, $catid) = explode('_', $module);
$catidlists=getcache('category_content','commons');
$category = getcache('category_content_'.$siteid, 'commons');
if (empty($contentid) || empty($catid) || (array_key_exists($catid,$catidlists)==false||$category[$catid]["modelid"]==0)) {
return false;
}
$this->db->set_catid($catid);
此方法为网友提供,经测试有效,非常感谢。