当前位置:首页 > CMS教程 > Discuz > 列表

PHP合并discuz用户脚本的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-15 19:21:26 浏览: 评论:0 

这篇文章主要介绍了PHP合并discuz用户脚本的方法,分析了合并discuz用户数据库的方法与相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了PHP合并discuz用户脚本的方法,分享给大家供大家参考,具体如下:

前几天遇到一个需要将两个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.   if(!mysql_query($sql)) 
  13.   { 
  14.     $arrayerr[]=$sql;$errnum++; 
  15.   } 
  16.   else 
  17.   { 
  18.     $oknum++; 
  19.   } 
  20. echo "<pre>OK:$oknum <br>errornum:$errnum <br> error:<br>"
  21. print_r($arrayerr); 
  22. mysql_close($link); 

希望本文所述对大家的php程序设计有所帮助。

Tags: PHP合并discuz用户脚本

分享到: