·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

分享个ucenter_members数据补齐common_member数据脚本

433 2
发表于 2021-4-7 15:16:35 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
提示: 任何数据库操作,风险很大,请注意备份!!!


说明:
    用ucenter_members数据补齐common_member数据脚本会自动跳过common_member已经有的数据,主要是补齐没有的数据需要管理员登录后执行脚本


适用方法:
    解压文件上传网站根目录浏览器访问 网址/ucmember_to_dzmember.php等待执行完毕可以多次重复执行删除文件
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

bitLv.3 发表于 2023-3-15 14:51:44 | 查看全部 | Google Chrome | Windows 10
老大这个脚本呢??正好需要
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-17 17:57:17 | 查看全部
在Discuz!系统中,`ucenter_members`表和`common_member`表是两个非常重要的用户数据表。`ucenter_members`表存储了UCenter中的用户基本信息,而`common_member`表则存储了Discuz!论坛中的用户信息。有时候,由于某些原因,`common_member`表中的数据可能会丢失或不完整,这时我们可以通过`ucenter_members`表中的数据来补齐`common_member`表。

以下是一个PHP脚本示例,用于从`ucenter_members`表中提取数据并插入到`common_member`表中。请注意,任何数据库操作都有风险,务必在执行前备份数据库。

### 脚本内容:`ucmember_to_dzmember.php`

  1. <?php
  2. // 定义数据库连接信息
  3. define('DB_HOST', 'localhost'); // 数据库主机
  4. define('DB_USER', 'root');      // 数据库用户名
  5. define('DB_PASS', 'password');  // 数据库密码
  6. define('DB_NAME', 'discuz');    // 数据库名称

  7. // 连接数据库
  8. $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

  9. // 检查连接
  10. if ($conn->connect_error) {
  11.     die("数据库连接失败: " . $conn->connect_error);
  12. }

  13. // 设置字符集
  14. $conn->set_charset("utf8");

  15. // 查询ucenter_members表中的数据
  16. $sql = "SELECT uid, username, email, regdate, salt, password FROM ucenter_members";
  17. $result = $conn->query($sql);

  18. if ($result->num_rows > 0) {
  19.     // 遍历每一行数据
  20.     while($row = $result->fetch_assoc()) {
  21.         $uid = $row['uid'];
  22.         $username = $row['username'];
  23.         $email = $row['email'];
  24.         $regdate = $row['regdate'];
  25.         $salt = $row['salt'];
  26.         $password = $row['password'];

  27.         // 检查common_member表中是否已存在该用户
  28.         $check_sql = "SELECT uid FROM common_member WHERE uid = $uid";
  29.         $check_result = $conn->query($check_sql);

  30.         if ($check_result->num_rows == 0) {
  31.             // 如果不存在,则插入数据
  32.             $insert_sql = "INSERT INTO common_member (uid, username, email, regdate, salt, password)
  33.                            VALUES ($uid, '$username', '$email', $regdate, '$salt', '$password')";
  34.             if ($conn->query($insert_sql) === TRUE) {
  35.                 echo "用户 $username (UID: $uid) 已成功插入到common_member表中。<br>";
  36.             } else {
  37.                 echo "插入用户 $username (UID: $uid) 时出错: " . $conn->error . "<br>";
  38.             }
  39.         } else {
  40.             echo "用户 $username (UID: $uid) 已存在于common_member表中,跳过。<br>";
  41.         }
  42.     }
  43. } else {
  44.     echo "ucenter_members表中没有数据。<br>";
  45. }

  46. // 关闭数据库连接
  47. $conn->close();

  48. echo "脚本执行完毕。";
  49. ?>
复制代码


### 使用说明:

1. **备份数据库**:在执行任何数据库操作之前,请务必备份您的数据库,以防止数据丢失。

2. **上传脚本**:将上述脚本保存为`ucmember_to_dzmember.php`文件,并上传到您的网站根目录。

3. **执行脚本**:在浏览器中访问`http://你的网站地址/ucmember_to_dzmember.php`,脚本将自动执行。

4. **检查结果**:脚本执行完毕后,您可以在页面上看到执行结果。如果某个用户已经存在于`common_member`表中,脚本会跳过该用户。

5. **删除脚本**:执行完毕后,请务必删除`ucmember_to_dzmember.php`文件,以防止被恶意利用。

### 注意事项:

- 该脚本仅适用于Discuz! X3.4及以下版本,如果您使用的是更高版本,请根据实际情况调整脚本。
- 如果您的`common_member`表结构有所不同,请根据实际情况修改脚本中的SQL语句。
- 该脚本仅用于数据补齐,不会删除或修改已有数据。

希望这个脚本能帮助您解决问题!如果有任何疑问或需要进一步的帮助,请随时联系。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.189.188.113,GMT+8, 2025-5-2 09:50 , Processed in 0.447085 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表