해피 소스 - PHP MySQL 데이터베이스 인스턴스 .SQL 파일의 수출을 달성

  1. 함수 mysql_list_tables로에서, 제 1베이스 테이블을 얻었다 ({OA 신용 디스크 발기 Q <319.135.503.1>}), 다음 배열에 저장된 모든 테이블 이름을 얻을 수있다.
  2. 쇼 CREATE TABLE 테이블에 나타난 구조를 얻을 수있다.
  3. 에 ... 문 스티치 루프 삽입하여, 모든 레코드를 제거 테이블에서 *를 선택합니다.

구현 코드 :
다음과 같이 코드 코드가 복사
<PHP를?

헤더 ( "콘텐츠 유형 : 텍스트 / html로; 문자셋 = UTF-8");

//配置信息
$ cfg_dbhost = "로컬 호스트";
$의 cfg_dbname = "ftdm";
$ cfg_dbuser = "루트";
$ cfg_dbpwd = "루트";
$ cfg_db_language = "UTF8";
$의 to_file_name = "ftdm.sql";
// END配置

// 링크 데이터베이스
$ 링크 =로 mysql_connect ($ cfg_dbhost, cfg_dbuser $, $ cfg_dbpwd)
반환 mysql_select_db ($의 cfg_dbname);
// 선택적으로 인코딩
하여 mysql_query ($의 cfg_db_language을 "이름을 설정" .)
데이터베이스 테이블 //이
$ 테이블을 = mysql_list_tables ($의 cfg_dbname)
// 테이블은 배열 레코드
(= 배열 $의 tablist에서)를,
그동안 ($ 행 =를 mysql_fetch_row ($ 테이블)) {
$ tablist에서 [] = $ 행 [0]
}

에코 "작업이 ... 기다려주십시오";
$ = 정보 "- --------------------------- - ";
$ = 정보."- 날짜 : ". 날짜. ("Ymd 일수 H : 내가 : S ","시간 ()) "
$ 정보 ="- 테스트 용으로 만 공부, 본 프로그램은하지 않습니다. 많은 양의 데이터를 처리하기위한 매우 적합 ";
$ 정보 =."- ---------------------------- ";
file_put_contents를 ($의 to_file_name, $ 정보, FILE_APPEND);

// 파일에 각 테이블의 테이블 구조는 수출
(AS $ $ tablist에서 발) {foreach 문을
$ SQL = $ 발 ;. "표보기 만들기"
; $ RES이는 mysql_query (SQL의 $, $ 링크) =
$ 행이로 MYSQL_ASSOC를 = ( RES $)
$ 정보 = "- ----------------------------";
. $ 정보 = "- 테이블의 구조 ".$val."";
$ 정보 =."- ---------------------------- ";
. $ 정보는 ="DROP 표가있는 경우 ".$val."; " ;
$ sqlstr 행 = $ $ 정보 .. [1.] ",";
// 파일에 첨부
file_put_contents를 (to_file_name $를 $의 sqlstr, FILE_APPEND 행);
// 방출 자원
으로 mysql_free_result ($ RES)
}

// 각 수출 데이터 파일 테이블
($ $ tablist에서 발 AS) foreach는 {
$ = SQL "SELECT *에서"$ 발 ;.
$ RES이는 mysql_query (SQL의 $, $ 링크) =;
에는 테이블이없는 // 경우 데이터가 다음 테이블로 진행
IF (. mysql_num_rows도 ($ RES) <1) 계속;
//
$ 정보 = "- ---------------------- ------ ";
. $ 정보 ="-에 대한 기록 ".$val."";
. $ 정보 ="- ------------------------ ---- ";
file_put_contents를 (to_file_name $를 $ 정보, FILE_APPEND 행)
의 데이터를 판독 //
그동안을 ($ 행 =를 mysql_fetch_row ($ RES)) {
$ sqlstr ="를 삽입 한 ".$val."값 ( ";
foreach는 ($ $ 행 AS ZD) {
sqlstr $ = "ZD $를" ",". "..";
}
// 마지막 쉼표와 공백 제거
(나 strlen $ sqlstr, 0, ($ sqlstr) $의 sqlstr = SUBSTR -2)
$ sqlstr를. = ");";
file_put_contents를 ($의 to_file_name, $ sqlStr, FILE_APPEND);
}
//释放资源
으로 mysql_free_result ($ 입술);
file_put_contents를 ($의 to_file_name ","FILE_APPEND);
}

"OK!"에코;

?>

추천

출처blog.51cto.com/14524882/2435891