> 백엔드 개발 > PHP 튜토리얼 > PHP_php 팁에서 discuz 사용자 스크립트를 병합하는 방법

PHP_php 팁에서 discuz 사용자 스크립트를 병합하는 방법

WBOY
풀어 주다: 2016-05-16 20:08:58
원래의
1016명이 탐색했습니다.

이 기사의 예에서는 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 프로그래밍 설계에 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿