12
返回列表 发帖
楼主: mxl1983413

[已解决] 我的论坛有部分会员积分异常,发了帖子也不在个人资料页显示

44

主题

3279

回帖

5577

积分

应用开发者

Discuz! 运维

贡献
219 点
金币
685 个
QQ
发表于 前天 14:23 |江苏| 查看全部
  1. INSERT INTO `pre_common_member_count` (`uid`) VALUES (3)
复制代码

把3换成你对应要处理的用户UID试试
回复 1

使用道具 举报

10

主题

1450

回帖

2577

积分

应用开发者

DSVUE

贡献
72 点
金币
448 个
QQ
发表于 前天 15:56 |四川| 查看全部
mxl1983413 发表于 2025-12-29 10:28
是的,只是部分会员,从UID478到UID541,一共59个。试了好多操作,都没用。

需要检查对应用户的数据表信息是否完整,或者是否有用户积分相关的插件可能影响到数据的读写,对可能的情况逐个排查。
如果不清楚如何去做这些事情,建议找人帮你处理试试看。
回复

使用道具 举报

12

主题

28

回帖

47

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 昨天 08:47 |浙江| 查看全部
以下是具体的解决步骤:

第一步:备份数据库(非常重要!)
在进行任何数据库写操作前,请务必通过虚拟空间面板或 Discuz! 后台(站长 -> 数据库 -> 导出)备份一次数据库。

第二步:执行 SQL 批量补齐命令
你需要找到在 pre_common_member(用户主表)中存在,但在 pre_common_member_count(计数表)中缺失的 UID,并将其插入。

登录你的 phpMyAdmin。

在左侧选择你的论坛数据库。

点击顶部的 “SQL” 选项卡。

输入以下代码(注意:如果你的表前缀不是 pre_,请自行替换):

SQL

INSERT INTO pre_common_member_count (uid)
SELECT m.uid
FROM pre_common_member m
LEFT JOIN pre_common_member_count mc ON m.uid = mc.uid
WHERE mc.uid IS NULL;
这段代码的作用: 它会对比两个表,找出所有在主表里有记录但在计数表里没记录的 UID,然后统一插入到计数表中,其余积分字段会自动填充为默认值 0。执行后,这些用户的积分和发帖计数功能就会恢复正常。

第三步:检查其他关联表(可选但建议)
有时候,“幽灵账号”不仅缺计数表,可能还缺个人资料表等。你可以用同样的方法修复其他表:

修复个人资料表缺失:

SQL

INSERT INTO pre_common_member_profile (uid)
SELECT m.uid FROM pre_common_member m LEFT JOIN pre_common_member_profile mp ON m.uid = mp.uid WHERE mp.uid IS NULL;
修复论坛字段表缺失:

SQL

INSERT INTO pre_common_member_field_forum (uid)
SELECT m.uid FROM pre_common_member m LEFT JOIN pre_common_member_field_forum mf ON m.uid = mf.uid WHERE mf.uid IS NULL;
第四步:后台更新统计数据
执行完 SQL 后,回到 Discuz! 后台执行以下操作以同步缓存:

进入 后台 -> 工具 -> 更新统计。

依次点击 “重建用户发帖数” 和 “重建家族/板块统计” 等项。

最后去 工具 -> 更新缓存。

为什么会出现这个问题?
对于虚拟空间用户,这类问题通常由以下原因引起:

注册时数据库超时: 虚拟空间性能有限,用户注册时写入主表成功,但写入计数表时连接断开。

错误的数据库迁移: 之前更换空间或导入数据库时,部分数据包丢失。

插件冲突: 某些第三方注册插件或拦截插件在写入数据库时逻辑不严谨。

建议: 执行完上述修复后,你可以尝试注册一个新账号,看是否还会出现这种情况。如果新账号依然不显示积分,可能需要检查你的注册插件或 source/class/class_member.php 文件是否被非法篡改或损坏。
回复

使用道具 举报

12

主题

28

回帖

47

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 昨天 08:48 |浙江| 查看全部
科站网 发表于 2025-12-29 14:23
把3换成你对应要处理的用户UID试试

这是正确答案,我通过AI完善了一下,帖到下面的回复了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-12-31 04:54 , Processed in 0.046038 second(s), 11 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表