dedecms一鍵更新后讀取附加信息出錯dede_addonarticle!
時間:2018-05-13 19:43來源:教育網(wǎng) 作者:haoxuee 點(diǎn)擊:
次
錯誤提示:數(shù)據(jù)保存到數(shù)據(jù)庫附加表 `dede_addonarticle` 時出錯,請把相關(guān)信息提交給DedeCms官方。Table ./dede_addonarticle is marked as crashed and last (automatic?) repair failed? 首先要確認(rèn)的是,這張表損壞了,只能去修復(fù)了。 摘抄網(wǎng)上關(guān)于此問題
錯誤提示:數(shù)據(jù)保存到數(shù)據(jù)庫附加表 `dede_addonarticle` 時出錯,請把相關(guān)信息提交給DedeCms官方。Table './dede_addonarticle' is marked as crashed and last (automatic?) repair failed?
首先要確認(rèn)的是,這張表損壞了,只能去修復(fù)了。
摘抄網(wǎng)上關(guān)于此問題的討論:
于是我用代碼編輯器搜索了一下"讀取附加信息出錯!"所在的文件,結(jié)果發(fā)現(xiàn)這段信息是在admin/article_edit.php中,而它出現(xiàn)的條件是數(shù)組$addRow不存在, 即上面sql語句"SELECT * FROM `$addtable` WHERE aid='$aid'"返回結(jié)果為0,同過這sql語句可以看出當(dāng)表名 $addtable 出錯時,或文檔aid不存在時就會出現(xiàn)問題,而$addtable = $cInfos['addtable'], $cInfos又是通過"SELECT * FROM `dede_channeltype` WHERE id='".$arcRow['channel']."'"得來,我們就可以看出表名$addtable是存在表dede_channeltype中的addtable字段里的(其中dede_是表前綴),而不是用類似于dede_channeltype的表前綴加表名的方式獲得的,結(jié)果我去數(shù)據(jù)庫的dede_channeltype表中一看,發(fā)現(xiàn)里面是內(nèi)容模型的信息,而里面存的表名的前綴還是原來的,于是我將里面的表名改正,再去后臺看,錯誤就沒了。
總結(jié):出現(xiàn)這個錯誤就是因為數(shù)據(jù)庫表名與dede_channeltype中存的表名對不上,能操作數(shù)據(jù)庫的人可以去數(shù)據(jù)庫修改,不會操作數(shù)據(jù)庫的人可以在核心--頻道模型--內(nèi)容模型管理--將模型‘附加表’改正確即可。
附:我在查看dede_channeltype表時發(fā)現(xiàn)字段maintable中也存著表名,能改數(shù)據(jù)庫的人最好把里面的表前綴也改過來,雖然說只要改掉addtable字段就能解決錯誤。
下面是dedecms論壇的方法:
今天檢查了下網(wǎng)站的舊文章,發(fā)現(xiàn)不少是“讀取附加信息出錯!”的,瀏覽內(nèi)容時就僅有描述段,正文內(nèi)容全部不見了。
到phpmyadmin中打開dede_addonarticle表搜索出現(xiàn)問題的文章的ID,結(jié)果找不到,于是嘗試插入內(nèi)容,aid字段就輸入出現(xiàn)問題的文章的ID。
果然,后臺可以編輯了,不過正文內(nèi)容是找不回來的了,唯有重新寫上內(nèi)容,或者看看百度快照吧~~~
這問題存在很久我都沒發(fā)現(xiàn),百度更新了不知道多少次,快照也找不回內(nèi)容,悲哀啊~~要一篇一篇去找。
還有這個問題不知道是怎么發(fā)生的,如何預(yù)防~~各位高手出來說下嘛。
本人的解決方法:
dedecms的分表存儲出錯,那么我們可以手工入庫即可。dedecms5.1中是dede_archives與dede_addonarticle分別添加指定id的內(nèi)容就可以了,然后修改為自己想要的內(nèi)容,完美解決。
(責(zé)任編輯:haoxuee)
學(xué)友請微信搜索好學(xué)網(wǎng),或加公眾號 haoxueecom 獲取更多學(xué)習(xí)資訊!
|
------分隔線----------------------------