So sichern Sie Datenbanktabellen automatisch in PHP

小云云
Freigeben: 2023-03-19 19:34:01
Original
1343 Leute haben es durchsucht

Wie kann ich Datenbanktabellen automatisch in PHP sichern? In diesem Artikel erfahren Sie, wie Sie PHP zum automatischen Sichern von Datenbanktabellen verwenden, und dient als Referenz für alle. Ich hoffe, er kann Ihnen helfen.

1. Vorwort

Es gibt viele Möglichkeiten, eine MySQL-Datenbank zu sichern.

Zum Beispiel:

1 🎜>mysqldump - u Benutzername -p Datenbankname Tabelle1 Tabelle2 ... > BackupName.sql

Der Parameter Datenbankname stellt den Namen der Datenbank dar

Die Parameter Tabelle1 und Tabelle2 stellen die Namen der dar Wenn die Tabellen, die gesichert werden müssen, leer sind, kann der Parametertabelle „BackupName.sql“ ein absoluter Pfad vorangestellt werden Dateiname. Die Datenbank ist normalerweise in eine Datei mit dem Suffix sql unterteilt.

Grundlegende Verwendung:

2

Es gibt viele Möglichkeiten, die Datenbank zu sichern, die beiden oben genannten sind häufiger

Dieses Mal erklären wir hauptsächlich, wie die Datenbank automatisch über PHP-Funktionen gesichert wird

2 . Einführung in verwandte Funktionen

2.1, fopen

2.2, array_keys

2.3, array_values

2.4, implodieren

2.5, Teilstr

2.6, fwrite

3. Implementierungsideen

4. Codezusammensetzung

5. Fazit

Der Hauptprozess zum Sichern der Datenbank:

Wechseln Sie zur entsprechenden Datenbank

/**
 * [copyDb description] 备份数据库
 * @param [type] $dbname [description] 数据库名
 * @param [type] $fileName [description] 存储的文件名
 * @return [type]   [description]
 */
public function copyDb($dbname, $fileName){
	$myfile = fopen($fileName, "w") or die("Unable to open file!");//打开存储文件
	$this->link->query("use {$dbname}");//切换数据库
	$this->changeDb($dbname);
	$tables = $this->link->query('show tables');//获取当期数据库所有表名称
	while($re = $tables->fetch(PDO::FETCH_ASSOC)){
		//var_dump($re);//查看数组构成
		$tableName = $re['Tables_in_'.$dbname];//构成特定的下标
		$sql = "show create table {$tableName};";
		$tableSql = $this->link->query($sql);

		fwrite($myfile, "DROP TABLE IF EXISTS `{$tableName}`;\r\n");//加入默认删除表的遇见
		//下面备份表结构,这个循环之执行一次
		while($re = $tableSql->fetch(PDO::FETCH_ASSOC)){
			// echo "<pre class="brush:php;toolbar:false">";
			// var_dump($re);
			// echo "
"; echo "正在备份表{$re['Table']}结构
"; fwrite($myfile, $re['Create Table'].";\r\n\r\n"); echo "正在备份表{$re['Table']}结构完成
"; } //下面备份表数据 echo "正在备份表{$tableName}数据
"; $sql = "select * from {$tableName};"; $valueSql = $this->link->query($sql); while($re = $valueSql->fetch(PDO::FETCH_ASSOC)){ $keyArr = array_keys($re);//获得对应的键值 $valueArr = array_values($re);//获得对应的值 $keyStr = ''; foreach ($keyArr as $key => $value) { $keyStr .= "`".$value."`,"; } $keyStr = substr($keyStr,0,strlen($keyStr)-1); //取出最后一个逗号 $valueStr = ''; // var_dump($valueArr); foreach ($valueArr as $key => $value) { $valueStr .= "'".$value."',"; } //以上的处理只是对应sql的写法 $valueStr = substr($valueStr,0,strlen($valueStr)-1); //取出最后一个逗号 $sql = "insert into `{$tableName}`({$keyStr}) values({$valueStr})"; fwrite($myfile, $sql.";\r\n\r\n"); } echo "正在备份表{$tableName}数据完成
"; echo "

"; } fclose($myfile); }
Nach dem Login kopieren
Verwenden Sie show create table tableName, um die Tabellenstruktur abzurufen und zu schreiben in eine Datei;

Fragen Sie dann alle Tabellendaten ab, generieren Sie die entsprechende SQL-Anweisung und schreiben Sie sie in die Datei

Die durch den Testlauf generierte SQL-Datei; 🎜>Verwandte Empfehlungen:

Navicat für MySQL Geplante Datenbanksicherungs- und Datenwiederherstellungsvorgänge

So implementieren Sie eine automatische Datenbanksicherung mit PHP

Grafik- und Textcode-Einführung zur Verwendung von PHP zur automatischen Sicherung von Datenbanktabellen

Das obige ist der detaillierte Inhalt vonSo sichern Sie Datenbanktabellen automatisch in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!