Home  >  Article  >  Backend Development  >  PHP implements merging discuz users, php merges discuz_PHP tutorial

PHP implements merging discuz users, php merges discuz_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:45:081009browse

PHP implements merging discuz users, php merges discuz

The example in this article describes the method of PHP merging discuz user scripts. Share it with everyone for your reference. The details are as follows:

A few days ago, I encountered a project that required merging two discuz. One had a user level of around 120,000, and the other had a user level of 18,000. Needless to say, the 10,080 was definitely thrown away, leaving the 120,000. It started to feel difficult to handle. The data tables are all related. When a new user is registered, 8 tables have added records. I haven’t checked whether other tables have the possibility of modifying records. At that time, I felt that I couldn't sort out those tables for a while, so I searched for it and found the discuz tool. But it could only import items within 100,000, so I had to try it myself. After thinking about it, I directly inserted a line into the key table. As for the record, other tables may automatically complete the relevant data during the user operation, so I tried to export the original 18,000 users, and then wrote a PHP script to directly write the 18,000 users into the uncenter The member inside and outside. I tested it and it was OK. Unfortunately, none of the user points or anything has passed, only the user's username and password have been retained.

Key steps:

1. Export the uncenter member database of the system you plan not to use into a sql file.

2. Run the script.

Disclaimer: This script only provides ideas. Please back up the data in advance before use. The author has nothing to do with data loss. (The code is simple, don’t spray)

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 class="brush:php;toolbar:false">OK:$oknum <br>errornum:$errnum <br> error:<br>"; 
print_r($arrayerr); 
mysql_close($link); 

Let’s take a look at how to use UC integration

In the past two days, I have been working on two discuz ucenter and membership systems; after my unremitting efforts, the integration was finally completed; after integration, the functions are as follows;

Two discuz systems share the same ucenter; //Implementation method:

The two discuz systems share the same membership system; //The solution is later;

Integrate ucenter first;

First completely install a discuz system; enter ucenter; add applications:

Click to install: Keep going to the next step

If the click appears, you must solve the above problems before the installation can continue
Please return and enter the IP address of UCenter: If nothing goes wrong, go to the next step

ucenter integration is completed; you can log in at the same time; log out at the same time; you only need to activate it for the first time;

Open config_global.php under the second subsystem config/;

Add $_config['db']['2'][' under $_config['db']['1']['tablepre'] = chuzi_'; tablepre'] = it_

The second subsystem opens db_driver_mysql.php under the sourceclassdb file;

Add below line 34$this->tablepre = $config['1']['tablepre']; $this->tableprechu = $config['2 ']['tablepre'];
Line 112 return $this->tablepre.$tablename; is modified to the following

if(preg_match("/^common_member(.*)/i",$tablename)|| preg_match("/^home(.*)/i",$tablename) || in_array($tablename, array('common_credit_rule_log')))
    {
      return $this->tableprechu .$tablename; //tableprechu与上面修改对应就行;
    }else{
    return $this->tablepre.$tablename;
    }

The above are the two ways to integrate DZ forum members summarized by the editor. I personally prefer the second one, after all, the first one still has some flaws.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1043236.htmlTechArticlePHP implements merging discuz users, php merges discuz. This article describes the method of merging discuz user scripts in PHP. Share it with everyone for your reference. The details are as follows: I encountered a need a few days ago...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn