今天我因为一些需要修改了dede网站数据库的表前缀,并将数据库配置信息文件中表前缀同样改了,然后在编辑发布的文档时出现了”读取附加信息出错!”的消息,同添加文档也同样出错,
出现了“把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方。”的信息,此时重新生成html文件时原来的文档也不见了。
于是我用代码编辑器搜索了一下“读取附加信息出错!”所在的文件,结果发现这段信息是在admin/article_edit.php中,而它出现的条件是数组$addRow不存在
即上面sql语句“SELECT * FROM `$addtable` WHERE aid=’$aid\’”返回结果为0
同过这sql语句可以看出当表名 $addtable 出错时,或文档aid不存在时就会出现问题
而$addtable = $cInfos[‘addtable’], $cInfos又是通过”SELECT * FROM `dede_channeltype` WHERE id=\’”.$arcRow[‘channel’].”‘”得来
我们就可以看出表名$addtable是存在表dede_channeltype中的addtable字段里的(其中dede_是表前缀)
而不是用类似于dede_channeltype的表前缀加表名的方式获得的,结果我去数据库的dede_channeltype表中一看,发现里面是内容模型的信息,而里面存的表名的前缀还是原来的,于是我将里面的表名改正,再去后台看,错误就没了。
总结:
出现这个错误就是因为数据库表名与dede_channeltype中存的表名对不上,能操作数据库的人可以去数据库修改,不会操作数据库的人可以在核心–频道模型–内容模型管理–将模型‘附加表’改正确即可。
附:我在查看dede_channeltype表时发现字段maintable中也存着表名,能改数据库的人最好把里面的表前缀也改过来,虽然说只要改掉addtable字段就能解决错误。
下面是dedecms论坛的方法:
今天检查了下网站的旧文章,发现不少是“读取附加信息出错!”的,浏览内容时就仅有描述段,正文内容全部不见了。
到phpmyadmin中打开dede_addonarticle表搜索出现问题的文章的ID,结果找不到,于是尝试插入内容,aid字段就输入出现问题的文章的ID。
果然,后台可以编辑了,不过正文内容是找不回来的了,唯有重新写上内容,或者看看百度快照吧~~~
这问题存在很久我都没发现,百度更新了不知道多少次,快照也找不回内容,悲哀啊~~要一篇一篇去找。
还有这个问题不知道是怎么发生的,如何预防~~各位高手出来说下嘛。
本人的解决方法:
dedecms的分表存储出错,那么我们可以手工入库即可。
dedecms5.1中是dede_archives与dede_addonarticle分别添加指定id的内容就可以了,然后修改为自己想要的内容,完美解决。 by dede58.com
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容