如何统计并输出未完成邮箱验证的用户数量?
解决未验证用户数量统计问题
嗨,我懂你的困扰啦!你已经搞定了已激活用户的统计,那未验证用户的统计其实只要反过来筛选就行~
你的members表中,已激活用户的active字段值是'Yes',而未验证用户的active是随机的MD5字符串,所以我们只需要查询所有active字段不等于'Yes'的记录就可以了。
基础实现代码
直接修改你的SQL条件就能实现:
// 查询所有未验证用户 $result3 = mysqli_query($db, "SELECT * FROM `members` WHERE `active` != 'Yes'"); // 获取未验证用户数量 $unverified_users = mysqli_num_rows($result3);
更高效的优化方案
如果只是需要统计数量,完全没必要查询所有用户的完整数据——用COUNT(*)让数据库直接返回计数会更高效(能减少不必要的数据传输):
// 直接统计未验证用户数量 $result3 = mysqli_query($db, "SELECT COUNT(*) AS unverified_count FROM `members` WHERE `active` != 'Yes'"); // 取出计数结果 $row = mysqli_fetch_assoc($result3); $unverified_users = $row['unverified_count'];
额外注意点
如果你的表中存在active字段为NULL的情况(虽然你描述里是MD5字符串,但以防万一),可以把条件调整为:
SELECT COUNT(*) AS unverified_count FROM `members` WHERE `active` != 'Yes' OR `active` IS NULL
这样就能覆盖所有未激活的用户啦~
内容的提问来源于stack exchange,提问作者user9745294
相关产品推荐
相关产品推荐

