欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP备份数据库为SQL文件 并可下载源码

程序员文章站 2024-04-05 17:08:54
...
  这是一个将指定数据库里的所有表备份为一个SQL文件,可下载。这个源码来自dedecms程序,功能挺多,也很实用,但是代码的质量还有待提高
  1. /****** 备份数据库结构 ******/
  2. /*
  3. 函数名称:table2sql()
  4. 函数功能:把表的结构转换成为SQL
  5. 函数参数:$table: 要进行提取的表名
  6. 返 回 值:返回提取后的结果,SQL集合
  7. 函数作者:heiyeluren
  8. */
  9. function table2sql($table)
  10. {
  11. global $db;
  12. $tabledump = "DROP TABLE IF EXISTS $table; ";
  13. $createtable = $db--->query("SHOW CREATE TABLE $table");
  14. $create = $db->fetch_row($createtable);
  15. $tabledump .= $create[1]."; ";
  16. return $tabledump;
  17. }
  18. /****** 备份数据库结构和所有数据 ******/
  19. /*
  20. 函数名称:data2sql()
  21. 函数功能:把表的结构和数据转换成为SQL
  22. 函数参数:$table: 要进行提取的表名
  23. 返 回 值:返回提取后的结果,SQL集合
  24. 函数作者:heiyeluren
  25. */
  26. function data2sql($table)
  27. {
  28. global $db;
  29. $tabledump = "DROP TABLE IF EXISTS $table; ";
  30. $createtable = $db->query("SHOW CREATE TABLE $table");
  31. $create = $db->fetch_row($createtable);
  32. $tabledump .= $create[1]."; ";
  33. $rows = $db->query("SELECT * FROM $table");
  34. $numfields = $db->num_fields($rows);
  35. $numrows = $db->num_rows($rows);
  36. while ($row = $db->fetch_row($rows))
  37. {
  38. $comma = "";
  39. $tabledump .= "INSERT INTO $table VALUES(";
  40. 微信