Heim > Backend-Entwicklung > PHP-Tutorial > Imitieren Sie die PHPMyadmin-Exportfunktion, um die MySQL-Datenbank mit PHP in eine .sql-Datei zu exportieren

Imitieren Sie die PHPMyadmin-Exportfunktion, um die MySQL-Datenbank mit PHP in eine .sql-Datei zu exportieren

不言
Freigeben: 2023-03-30 21:18:01
Original
3557 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die PHP-Implementierung zum Exportieren der MySQL-Datenbank als Beispiel für eine .sql-Datei vorgestellt (Nachahmung der PHPMyadmin-Exportfunktion).

Die Verwendung von PHP-Code zur Implementierung der Datenbanksicherung kann Verbessern Sie die Verwaltung der Website. Es ist sehr praktisch geworden, dass wir den Hintergrundvorgang direkt aufrufen können, um die Sicherung der Datenbank abzuschließen.

Schlüsseltechnologien:

1. Zuerst müssen Sie ermitteln, welche Tabellen in der Datenbank vorhanden sind, die Funktion mysql_list_tables() verwenden und dann alle speichern die erhaltenen Tabellennamen in ein Array.
2. show create table table name kann die Tabellenstruktur abrufen.
3. Wählen Sie * aus dem Tabellennamen aus, nehmen Sie alle Datensätze heraus und fügen Sie sie mithilfe einer Schleife in Anweisungen zum Einfügen in ... ein.

Implementierungscode:

<?php

 header("Content-type:text/html;charset=utf-8");

 //配置信息
 $cfg_dbhost = &#39;localhost&#39;;
 $cfg_dbname = &#39;ftdm&#39;;
 $cfg_dbuser = &#39;root&#39;;
 $cfg_dbpwd = &#39;root&#39;;
 $cfg_db_language = &#39;utf8&#39;;
 $to_file_name = "ftdm.sql";
 // END 配置
 //链接数据库
 $link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
 mysql_select_db($cfg_dbname);
 //选择编码
 mysql_query("set names ".$cfg_db_language);
 //数据库中有哪些表
 $tables = mysql_list_tables($cfg_dbname);
 //将这些表记录到一个数组
 $tabList = array();
 while($row = mysql_fetch_row($tables)){
  $tabList[] = $row[0];
 }

 echo "运行中,请耐心等待...<br/>";
 $info = "-- ----------------------------\r\n";
 $info .= "-- 日期:".date("Y-m-d H:i:s",time())."\r\n";
 $info .= "-- 仅用于测试和学习,本程序不适合处理超大量数据\r\n";
 $info .= "-- ----------------------------\r\n\r\n";
 file_put_contents($to_file_name,$info,FILE_APPEND);
 //将每个表的表结构导出到文件
 foreach($tabList as $val){
  $sql = "show create table ".$val;
  $res = mysql_query($sql,$link);
  $row = mysql_fetch_array($res);
  $info = "-- ----------------------------\r\n";
  $info .= "-- Table structure for `".$val."`\r\n";
  $info .= "-- ----------------------------\r\n";
  $info .= "DROP TABLE IF EXISTS `".$val."`;\r\n";
  $sqlStr = $info.$row[1].";\r\n\r\n";
  //追加到文件
  file_put_contents($to_file_name,$sqlStr,FILE_APPEND);
  //释放资源
  mysql_free_result($res);
 }
 //将每个表的数据导出到文件
 foreach($tabList as $val){
  $sql = "select * from ".$val;
  $res = mysql_query($sql,$link);
  //如果表中没有数据,则继续下一张表
  if(mysql_num_rows($res)<1) continue;
  //
  $info = "-- ----------------------------\r\n";
  $info .= "-- Records for `".$val."`\r\n";
  $info .= "-- ----------------------------\r\n";
  file_put_contents($to_file_name,$info,FILE_APPEND);
  //读取数据
  while($row = mysql_fetch_row($res)){
   $sqlStr = "INSERT INTO `".$val."` VALUES (";
   foreach($row as $zd){
    $sqlStr .= "&#39;".$zd."&#39;, ";
   }
   //去掉最后一个逗号和空格
   $sqlStr = substr($sqlStr,0,strlen($sqlStr)-2);
   $sqlStr .= ");\r\n";
   file_put_contents($to_file_name,$sqlStr,FILE_APPEND);
  }
  //释放资源
  mysql_free_result($res);
  file_put_contents($to_file_name,"\r\n",FILE_APPEND);
 }

 echo "OK!";

?>
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist zur chinesischen PHP-Website!

Verwandte Empfehlungen:

Betrieb der MongoDB-Datenbank in PHP

Im WeChat-Applet PHP-Backend-Formular einreichen

Das obige ist der detaillierte Inhalt vonImitieren Sie die PHPMyadmin-Exportfunktion, um die MySQL-Datenbank mit PHP in eine .sql-Datei zu exportieren. 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