這是一個將指定數據庫裡的所有表備份為一個SQL文件,可下載。這個源碼來自dedecms程序,功能挺多,也很實用,但是代碼的質量還有待提高
- <!?php
- /****** 備份數據庫結構 ******/
- /*
- 函數名稱:table2sql()
- 函數功能:把表的結構轉換成為SQL
- 函數參數:$table: 要進行提取的表名
- 返 回 值:返回提取後的結果,SQL集合
- 函數作者:heiyeluren
- */
- function table2sql($table)
- {
- global $db;
- $tabledump = "DROP TABLE IF EXISTS $table; ";
- $createtable = $db--->query("SHOW CREATE TABLE $table");
- $create = $db->fetch_row($createtable);
- $tabledump .= $create[1]."; ";
- return $tabledump;
- }
- /****** 備份數據庫結構和所有數據 ******/
- /*
- 函數名稱:data2sql()
- 函數功能:把表的結構和數據轉換成為SQL
- 函數參數:$table: 要進行提取的表名
- 返 回 值:返回提取後的結果,SQL集合
- 函數作者:heiyeluren
- */
- function data2sql($table)
- {
- global $db;
- $tabledump = "DROP TABLE IF EXISTS $table; ";
- $createtable = $db->query("SHOW CREATE TABLE $table");
- $create = $db->fetch_row($createtable);
- $tabledump .= $create[1]."; ";
- $rows = $db->query("SELECT * FROM $table");
- $numfields = $db->num_fields($rows);
- $numrows = $db->num_rows($rows);
- while ($row = $db->fetch_row($rows))
- {
- $comma = "";
- $tabledump .= "INSERT INTO $table VALUES(";