问题答案
如何用ThinkPHP开发一个数据库备份功能
 
就是各大CMS的数据库备份还原功能如何实现
标签: MySQL thinkphp
答案
从开源博客系统Emlog里找了一段:
https://github.com/emlog/emlog/blob/master/src/admin/data.php
 
 
  1. /** 
  2.  * 备份数据库结构和所有数据 
  3.  * 
  4.  * @param string $table 数据库表名 
  5.  * @return string 
  6.  */ 
  7. function dataBak($table){ 
  8.     $DB = MySql::getInstance(); 
  9.     $sql = "DROP TABLE IF EXISTS $table;\n"
  10.     $createtable = $DB->query("SHOW CREATE TABLE $table"); 
  11.     $create = $DB->fetch_row($createtable); 
  12.     $sql .= $create[1].";\n\n"
  13.  
  14.     $rows = $DB->query("SELECT * FROM $table"); 
  15.     $numfields = $DB->num_fields($rows); 
  16.     $numrows = $DB->num_rows($rows); 
  17.     while ($row = $DB->fetch_row($rows)){ 
  18.         $comma = ""
  19.         $sql .= "INSERT INTO $table VALUES("
  20.         for ($i = 0; $i < $numfields$i++){ 
  21.             $sql .= $comma."'".mysql_escape_string($row[$i])."'"
  22.             $comma = ","
  23.         } 
  24.         $sql .= ");\n"
  25.     } 
  26.     $sql .= "\n"
  27.     return $sql
举一反三