欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP合并discuz用户脚本的方法

程序员文章站 2023-11-20 13:48:04
本文实例讲述了php合并discuz用户脚本的方法。分享给大家供大家参考。具体如下: 前几天遇到一个需要将两个discuz合并的项目,一个用户级别在12万左右,一个是1万...

本文实例讲述了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.运行脚本。

声明:本脚本只提供思路,请使用前提前备份好数据,如数据丢失与作者无关。(代码简单,勿喷)

set_time_limit(0);
$link = mysql_connect('localhost', 'ngjc', 'ohft6yhhyvt5')
  or die('could not connect: ' . mysql_error());
echo 'connected successfully';
mysql_select_db('ngjc') or die('could not select database');
require "sql.php";//此处换成导出的sql文件
$arrayerr=array();
$oknum=0;
$errnum=0;
mysql_query("set names utf8");
foreach($sqlarr as $sql)
{
  if(!mysql_query($sql))
  {
    $arrayerr[]=$sql;$errnum++;
  }
  else
  {
    $oknum++;
  }
}
echo "<pre>ok:$oknum <br>errornum:$errnum <br> error:<br>";
print_r($arrayerr);
mysql_close($link);

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