有時(shí)候使用discuz的時(shí)候經(jīng)常會(huì)出現(xiàn)“未定義操作”這樣的提示,下面就給大家列舉一下可能出現(xiàn)這樣的錯(cuò)誤提示的原因及解決方案:
1、打開(kāi)主題時(shí)提示
1)第一種情況可能是因?yàn)樵撝黝}沒(méi)有主題帖造成的,可以進(jìn)入數(shù)據(jù)庫(kù)通過(guò)下面的SQL語(yǔ)句查詢:
select * from cdb_posts where tid =主題id and first=1
如果返回的記錄數(shù)為0的話,說(shuō)明確實(shí)不存在主題帖,可以通過(guò)下面的方法解決:
通過(guò)phpMyAdmin,進(jìn)入論壇數(shù)據(jù)庫(kù),執(zhí)行SQL :
select * from cdb_posts where tid=主題 id order by dateline desc;
將第一條記錄的first字段的值修改為1即可。
2)另外一種情況是數(shù)據(jù)表cdb_posts 損壞(非嚴(yán)重?fù)p壞),導(dǎo)致 SQL 執(zhí)行出錯(cuò),查不到數(shù)據(jù)。這種情況,只需要修復(fù)一下數(shù)據(jù)表cdb_posts 。
2、編輯某個(gè)帖子時(shí)提示
具體的表現(xiàn)是瀏覽帖子時(shí)正常,但是編輯某個(gè)帖子的時(shí)候會(huì)提示“未定義操作”,這種情況一般由于cdb_posts表中這個(gè)帖子對(duì)應(yīng)的記錄的某個(gè)(或某些)字段有問(wèn)題造成的。
常見(jiàn)的情況是fid這個(gè)字段的值不是當(dāng)前論壇的fid,修復(fù)方法,執(zhí)行下面的SQL :
select * from cdb_posts where pid=帖子id
將fid的值修改成當(dāng)前板塊的fid。
3、查看帖子的時(shí)候,點(diǎn)擊頁(yè)碼,提示這個(gè)錯(cuò)誤
這主要是因?yàn)榕縿h帖或者其他的操作導(dǎo)致 cdb_threads 中存儲(chǔ)的該主題的回復(fù)數(shù)比 cdb_posts 中該主題的實(shí)際回復(fù)數(shù)多造成的,解決方法是:以版主或者管理員身份登陸,然后通過(guò)查看帖子頁(yè)面“管理選項(xiàng)”中“修復(fù)主題”功能修復(fù)。
4、版主置頂主題時(shí)提示
一般情況下有下面兩種原因造成:
1)修改模板,導(dǎo)致表單傳遞的值不正常。這種情況只需要將修改過(guò)的模板用默認(rèn)模板文件覆蓋。
2)在前臺(tái)置頂過(guò)程中,后臺(tái)修改了管理組的置頂權(quán)限。
5、高亮主題時(shí)提示
修改模板,導(dǎo)致表單傳遞的值不正常。這種情況只需要將修改過(guò)的模板用默認(rèn)模板文件覆蓋。