Home > Backend Development > PHP Tutorial > php MYSQL data backup class_PHP tutorial

php MYSQL data backup class_PHP tutorial

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-07-21 15:46:12
Original
934 people have browsed it

Functionally:
require_once("backdata.class.php");
$link = @mysql_connect("localhost","database name","password") or die ('Could not connect to server. ');
mysql_query("use cms",$link);
mysql_query("set names utf8",$link);
$dbbck=new backupData($link);//instantiate it , just a link identifier is enough
//When backing up data, if you want to back up all tables in a database, you can write like this:
$dbbck->backupTables("cms","./", array('*'));

//When backing up data, if you want to back up only one table in a database, you can write like this:
$dbbck->backupTables("cms" ,"./",array('user'));

//When backing up data, if you want to back up multiple tables in a database, you can write like this:

$ dbbck->backupTables("cms","./",array('user','acl','informatoin'));
//Note: $dbbck->backupTables("parameter 1", "Parameter 2", array());,
Parameter 1 is: database name,
Parameter 2 is: the location where the backup data is to be stored (i.e. directory address)
The third one is: you want Save those tables
ok...

The following is the code:

Copy the code The code is as follows:

/*
*
*A simple backup data class
*author FC
*
*/
class backupData{
private $mysql_link;//Link identification
private $dbName;//Database name
private $dataDir; //Directory where the data is to be stored
private $tableNames;//Table name
public function __construct( $mysql_link){

$this->mysql_link = $mysql_link;
}

public function backupTables($dbName,$dataDir,$tableNames){//Start backup

$this->dbName = $dbName;
$this->dataDir = $dataDir;
$this->tableNames = $tableNames;
$tables=$this-> ;delarray($this->tableNames);
$sqls='';
foreach($tables as $tablename){
if($tablename==''){//The table does not exist When
continue;
}
//**********************The following is the first half of the SQL**** **********
//If the table exists, delete it first
$sqls .= "DROP TABLE IF EXISTS $tablename;n";
//Read the table structure
$rs = mysql_query("SHOW CREATE TABLE $tablename",$this->mysql_link);
$row=mysql_fetch_row($rs);
//Get the table structure to form SQL
$sqls .=$row['1'].";nn";
unset($rs);
unset($row);
//************ ************The following is the second half of the SQL**************
//Find all the data in the table
$ rs=mysql_query("select * from $tablename",$this->mysql_link);
//The number of fields in the table
$field=mysql_num_fields($rs);
//Form this SQL statement: "INSERT INTO `groups` VALUES('1499e0ca25988d','Director','','0');"
while($rows=mysql_fetch_row($rs)){
$comma=' ';//Comma
$sqls.="INSERT INTO `$tablename` VALUES(";
for($i=0;$i<$field;$i++){
$sqls.= $comma."'".$rows[$i]."'";
$comma=',';
}
$sqls.=");nnn";
}
}
$backfilepath=$this->dataDir.date("Ymdhis",time()).'.sql';
//Write file
$filehandle = fopen($backfilepath , "w");
fwrite($filehandle, $sqls);
fclose($filehandle);
}

private function delarray($array){//process incoming Incoming array
foreach($array as $tables){
if($tables=='*'){//All tables (when obtaining the table name, you cannot form an array in the usual way)
$newtables=mysql_list_tables($this->dbName,$this->mysql_link);
$tableList = array();
for ($i = 0; $i < mysql_numrows($newtables) ; $i++){
array_push($tableList,mysql_tablename($newtables, $i));
}
$tableList=$tableList;
}else{
$tableList=$array ;
break;
}
}
return $tableList;
}
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/320190.htmlTechArticleThe functions include: require_once("backdata.class.php"); $link = @mysql_connect("localhost" ,"database name","password") or die ('Could not connect to server.'); mysql_query("use cms",$link)...
source:php.cn
Statement of this Website
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
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template