“未定义操作”常见问题及处理方法(不断完善中)
刚才IsaacZ想编辑一个旧回复帖,出现这个“未定义操作,请返回”提示,搜索了一下,找到下砂庄园的一篇帖子,转贴到下面。1、打开主题时提示
1)这种情况一般是因为该主题没有主题帖造成的,可以进入数据库通过下面的SQL确认一下: 代码:select * from cdb_posts where tid=主题id and first=1
如果返回的记录数为0的话,说明确实不存在主题帖,可以通过下面的方法解决:
通过phpMyAdmin,进入论坛数据库,执行SQL: 代码:
select * from cdb_posts where tid=主题id order by dateline desc;
将第一条记录的first字段的值修改为1
2)另外一种情况是数据表cdb_posts损坏(非严重损坏),导致SQL执行出错,查不到数据。这种情况,只需要修复一下数据表cdb_posts即可。
2、编辑某个帖子时提示(IsaacZ遇到的是这个问题)
具体的表现是:打开主题,浏览帖子时正常,但是编辑某个帖子的时候会提示“未定义操作”,这种情况一般由于cdb_posts表中这个帖子对应的记录的某个(或某些)字段有问题造成的。常见的情况是fid这个字段的值不是当前论坛的fid,修复方法,执行SQL: 代码:
select * from cdb_posts where pid=帖子id将fid的值修改成当前板块的fid
IsaacZ注:这行代码里面哪有 fid 呀,不知所云。IsaacZ自己想了个办法:将有问题的回复帖分割成一个单独的主题帖,再将分割的主题帖移动到另一个版块,这样FID就更换成新版块的 fid ,然后将此主题帖移动回原版块,即完成fid修复,最后还合并到原来的主题下即可。
3、查看帖子的时候,点击页码,提示这个错误
这主要是因为批量删帖或者其他的操作导致cdb_threads中存储的该主题的回复数比cdb_posts中该主题的实际回复数多造成的,解决方法是:以版主或者管理员身份登陆,然后通过查看帖子页面“管理选项”中“修复主题”功能修复即可。
4、置顶主题时提示
一般情况下有下面两种原因造成:
1)修改模板,导致表单传递的值不正常。这种情况只需要将修改过的模板用默认模板文件覆盖即可
2)在前台置顶过程中,后台修改了管理组的置顶权限。
5、高亮主题时提示
修改模板,导致表单传递的值不正常。这种情况只需要将修改过的模板用默认模板文件覆盖即可
页:
[1]