文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Discuz升级到6.1后编辑以前的帖子出现

Discuz升级到6.1后编辑以前的帖子出现

时间:2008-10-05  来源:con

Discuz从6.0升级到6.1以后, 发现原来6.0版下面发的好多帖子不能编辑, 编辑时显示"未定义操作, 请返回",而升级以后新发的帖子没有问题. 经检查发现原因是include/editpost.inc.php里面的SQL语句:

SELECT m.adminid, p.first, p.authorid, p.author, p.dateline, u.allowhtml, p.anonymous, p.invisible FROM cdb_posts p
LEFT JOIN cdb_members m ON m.uid=p.authorid
LEFT JOIN cdb_usergroups u USING(groupid)
WHERE pid='$pid' AND tid='$tid' AND fid='$fid'

返回了空集, 而根源是{$tablepre}posts表里面的fid字段不知何故发生混乱, 和{$tablepre}threads表里面对映条目的fid字段对映不起来.
解决办法很简单, 根据{$tablepre}threads表来更正{$tablepre}posts表里面的fid字段即可,使用下列SQL语句:(因为要对数据库进行写操作, 在实际操作前请做好备份, 并确认知道自己在做什么)

UPDATE cdb_posts,
cdb_threads SET cdb_posts.fid = cdb_threads.fid WHERE cdb_threads.tid = cdb_posts.tid

btw: Discuz里面很多"未定义操作,请返回"错误都是由于应该返回值的SQL返回了空集或错误结果引起的, 这个排错思路也可以应用到其他的"未定义操作,请返回"错误上.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载