论坛

 找回密码
 注册
                  
查看: 1695|回复: 0

修正: 待处理事项 : 等待审核的会员数(x)

[复制链接]
发表于 2009-12-25 08:43 | 显示全部楼层 |阅读模式
呵呵 已经解决6.0.0升级到6.1.0后在后台控制面板出现
待处理事项: 等待审核的会员数(x)而且在后台并无该会员的情况。

个人免责:建议先备份数据库。(虽然没有风险,但是还是保险起见,否则丢失任何数据与本人无关。)

最后一条SQL语句为本问题的解决方法。


一.分析
(1)
该查询结果出自/admin/home.inc.php   139行

   1. ($membersmod ? '<a href="admincp.php?action=moderate&operation=members">'.lang('home_mod_members').'</a>(<em class="lightnum">'.$membersmod.'</em>)' : '').

复制代码
(2)
上句中变量"membersmod"出自该文件78行数据库查询语句

   1. $membersmod = $db->result_first("SELECT COUNT(*) FROM {$tablepre}validating WHERE status='0'");

复制代码
(3)
{$tablepre}为Discuz! 之数据库前缀,默认为cdb_(以下都以cdb_为前缀,如果你修改过前缀,则再下面语句中,将cdb_替换为你修改后的数据表前缀),所以该语句为

   1. SELECT COUNT(*) FROM cdb_validating WHERE status='0'

复制代码
顺藤摸瓜,本人使用PhpAdmin,查询数据表cdb_validating.

   1. SELECT * FROM `cdb_validating` WHERE status='0'

复制代码
霍霍,果然是本人后台管理所说的7条(这时记下这几条记录的uid)。哇哈哈。。。。

(4)
然后在cdb_menbers表查找刚刚记录下的uid。
执行语句

   1. SELECT * FROM `cdb_members` WHERE uid=‘xx’ OR uid= ‘xx’ OR....

复制代码
发现cdb_members表中没有这几条记录。

这样,就解释了为什么我们在后台看到有等待审核的会员,但是却找不到这些会员的原因.
就是因为数据表 cdb_members和cdb_validating记录不同步.至于为什么不同步的原因就不清楚了

二.解决方法
既然找到了,那么我们就可以下手去处理他们了.
本人在PhpAdmin中执行这条语句
这个文章的中心,精华,画龙点睛之处,,,,,,,,,

   1. DELETE FROM `cdb_validating` WHERE status='0'

复制代码
完成后刷新后台,发现等待审核的会员数(x)没有了。
搞定,完成! 睡觉去

圣徒说明:有一个情况需要注意,直接在PhpAdmin执行后,等待审核的会员确实没有了,但是随之而来的是论坛打不开的情况,出现错误:1045,在后台sql管理中,重新改下数据库密码即可!

错误编号:1045

问题分析:数据库用户名或密码错误,导致程序没有权限连接 MySQL 数据库。

解决方法:1、如果你是虚拟主机用户,请联系空间服务商询问正确的 MySQL 数据库用户名和密码,然后修改论坛根目录下 config.inc.php 中关于数据库的配置信息。如果是在安装过程中出现这个问题,可以重新填写正确的帐号信息继续安装。
您需要登录后才可以回帖 登录 | 注册

本版积分规则



小黑屋|手机版|Archiver|论坛

GMT+8, 2024-12-21 14:06 , Processed in 0.252701 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表