dedecms织梦在后台更新时出现报错“读取频道信息失败,无法进行后续操作”的解决方法
代码检查报错法:找到您的dedecms的后台的目录里面有一个这样的php文件:mackhtml_archives_action.php,打开这个文件,记住千万不要用记事本打开,用专业的编辑器打开然后找到一下代码(大概在106行):
while($row=$dsql->GetObject('out')) { $tjnum++; $id = $row->id; $ac = new Archives($id); $rurl = $ac->MakeHtml($isremote); }
把这段代码注释掉,换成一下代码:
while($row=$dsql->GetObject('out')) { $tjnum++; $id = $row->id; echo $id; echo ""; $ac = new Archives($id); $rurl = $ac->MakeHtml($isremote); }
然后再把这个文件上传到原来的问题,这个时候我们就会发现,有报错的信息了,因为我们用这个打印出了,报错的id,在“ 读取频道信息失败,无法进行后续操作!
”提示信息的上面的最后一行数字是就是报错的id,那么这个时候我们就到数据库中找到dede_arctiny的id与之typeid为其他的数字。
这个原因是这个栏目的id删除之后,但是没有同时删除这个栏目下的文章导致的,那么我们把这条数据删除掉即可。
为了更好的解决错误,我们把数据库备份一下,然后运行一下以下sql语句: DELETE FROM 表前缀_arctiny WHERE typeid =错误记录的栏目id。
需要注意的是,表的前缀一定要和您表的前缀一致,错误记录的栏目id就是报错的id对应的typeid。操作这个之前 一定要备份。