Discuz教程网

[二次开发] Discuz X2.5使用PHP合并discuz用户脚本

[复制链接]
authicon dly 发表于 2013-1-12 21:02:37 | 显示全部楼层 |阅读模式
前几天遇到一个需要将两个discuz合并的项目,一个用户级别在12万左右,一个是1万8.不用说肯定是扔了1万8的,留下12万的。开始觉得不好处理,数据表都是关联,新注册一个用户,有8个表增加记录了,还没看有没有其他表有修改记录的可能性。当时觉得一时半会儿也理不清那些表,就搜索了一下,搜到了discuz tool.但是只能导10万以内的,于是就只能自己尝试了,后来考虑,我直接在关键表插入一条记录如何,其他表在用户操作的过程中没准就自动补齐的相关数据了,于是就试着导出原来的1万8用户,然后写了个PHP脚本直接将这1万8用户写入的uncenter的memeber表里。测试了一下还OK。遗憾的是用户积分啥的都没过去,只是保留了用户的用户名和密码。
关键步骤:
1.导出打算不要的那个系统的uncenter member数据库成sql文件。
2.运行脚本。

声明:本脚本只提供思路,请使用前提前备份好数据,如数据丢失与作者无关。(代码简单,勿喷)
  1. set_time_limit(0);
  2. $link = mysql_connect('localhost', 'ngjc', 'ohFt6yhHYvt5')
  3. or die('Could not connect: ' . mysql_error());
  4. echo 'Connected successfully';
  5. mysql_select_db('ngjc') or die('Could not select database');



  6. require "sql.php";//此处换成导出的sql文件
  7. $arrayerr=array();
  8. $oknum=0;
  9. $errnum=0;
  10. mysql_query("SET NAMES utf8");
  11. foreach($sqlarr as $sql)
  12. {
  13. if(!mysql_query($sql))
  14. {
  15. $arrayerr[]=$sql;$errnum++;
  16. }
  17. else
  18. {
  19. $oknum++;
  20. }
  21. }
  22. echo "<pre>OK:$oknum <br>errornum:$errnum <br> error:<br>";
  23. print_r($arrayerr);

  24. mysql_close($link);
复制代码

游客,如果您要查看本帖隐藏内容请回复



上一篇:Discuz X2.5详细讲解页头页尾背景图片的多种修改方法
下一篇:提取Discuz X2.5安装进度显示代码
authicon 那厮回忆 发表于 2013-8-23 13:12:36 | 显示全部楼层
淡定,淡定,淡定……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-6-17 05:59

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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