이 기사의 예에서는 PHP에서 discuz 사용자 스크립트를 병합하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
며칠 전 두 개의 discuz를 병합해야 하는 프로젝트를 발견했습니다. 하나는 사용자 레벨이 약 120,000이고 다른 하나는 사용자 레벨이 18,000인 것은 말할 필요도 없이 폐기되었습니다. , 하나는 120,000으로 남겨 둡니다. 새로운 사용자가 등록되면 8개의 테이블에 레코드가 추가되는지 확인하지 못했습니다. 그 때 한동안 그 테이블들을 정리할 수 없을 것 같아서 검색하다가 discuz 도구를 찾았는데, 100,000개 이내의 항목만 가져올 수 있어서 직접 해봐야겠다는 생각이 들었습니다. 레코드의 경우 다른 테이블이 사용자 작업 중에 해당 데이터를 자동으로 완성할 수 있으므로 원래 18,000명의 사용자를 내보내려고 한 다음 PHP 스크립트를 작성하여 직접 작성했습니다. 중앙에 18,000명의 사용자가 들어갑니다. 회원은 내부와 외부입니다. 테스트 해봤는데 괜찮더군요. 불행하게도 사용자 포인트나 어떤 것도 통과되지 않았으며 사용자의 사용자 이름과 비밀번호만 유지되었습니다.
주요 단계:
1. 사용하지 않을 시스템의 uncenter 멤버 데이터베이스를 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 class="brush:php;toolbar:false">OK:$oknum <br>errornum:$errnum <br> error:<br>"; print_r($arrayerr); mysql_close($link);
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.