Home > Article > Backend Development > How to merge discuz user scripts in PHP, merge discuz scripts in PHP_PHP tutorial
The example in this article describes the method of merging discuz user scripts in PHP. 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);
I hope this article will be helpful to everyone’s PHP programming design.