介绍
使用ThinkPHP怎么备份MySQL数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
class DBExport { ,/* * ,,*,@description 获取当前数据库的所有表名。 ,,* @static ,,*,@return 数组 ,,*/static 才能;protected  function 可以获得的() {才能 ,,,美元dbName=C (& # 39; DB_NAME& # 39;); ,,,结果=美元()→查询(“SHOW  FULL TABLES 得到‘{$ dbName}’, WHERE Table_Type =, & # 39; BASE 表# 39;“); ,,,foreach (result 美元;as $ v) { ,,,,,美元tbArray []=$ v (& # 39; Tables_in_& # 39; c (& # 39; DB_NAME& # 39;)]; ,,,} ,,,return tbArray美元; ,,} static 才能protected function  getview () {才能 ,,,美元dbName=C (& # 39; DB_NAME& # 39;); ,,,结果=美元()→查询(“SHOW  FULL TABLES 得到‘{$ dbName}’, WHERE Table_Type =, & # 39;视图# 39;“); ,,,foreach (result 美元;as $ v) { ,,,,,美元tbArray []=$ v (& # 39; Tables_in_& # 39; c (& # 39; DB_NAME& # 39;)]; ,,,} ,,,return tbArray美元; ,,} ,/* * ,,*,@description 导出SQL数据,但不包含表创建代码。 ,,* @static ,,*,@return 字符串 ,,*/static 才能public function  ExportAllData () {才能 ,,,tables 美元;=,self::可以获得的(); ,,,arrAll 美元;=,阵列( ,,,,,“SET FOREIGN_KEY_CHECKS=0;“ ,,,,,自我:BuildAllTriggerDropSql (), ,,,,,自我:BuildTableSql (), ,,,,,自我:BuildViewSql () ,,,); ,,,tbl 美元;=,new 模型(); ,,,foreach (tables 美元;as $表) ,,,{ ,,,,,美元arrAll []=癨 r \ nDELETE 得到表}{$;“; ,,,,/* ,,,,,rs 美元;=,美元(资源→查询(“SHOW  COLUMNS 得到{$表}“); ,,,,,arrFields 美元;=,数组(); ,,,,,foreach (rs 美元;as $ k=祝辞,美元v) { ,,,,,,,美元arrFields [],=,“‘{$ v(& # 39;场# 39;]}”“; ,,,,,} ,,,,,sqlFields 美元;=,内爆(arrFields美元,“,“); ,,,,*/,,,,,rs=美元(资源→查询(“select  *,得到‘{$表}“); ,,,,,foreach (rs 美元;as $ k=祝辞,美元v) { ,,,,,,,arrValues 美元;=,数组(); ,,,,,,,foreach (v 美元;as 关键=美元在val美元) ,,,,,,,{ ,,,,,,,,,如果(is_numeric (val美元)){ ,,,,,,,,,,,美元arrValues []=$ val; ,,,,,,,,,}else 如果(is_null (val)美元){ ,,,,,,,,,,,美元arrValues[]=& # 39;零# 39;; ,,,,,,,,,其他}{ ,,,,,,,,,,,美元arrValues []=? # 39;“.addslashes (val)美元霸主地位;& # 39;“; ,,,,,,,,,} ,,,,,,,} ,,,,,,,美元arrAll [],=,“INSERT INTO ‘{$表}’,VALUES (“.implode (& # 39; & # 39; arrValues美元)!”);“; ,,,,,} ,,,} ,,,美元arrAll []=self:: BuildTriggerCreateSql (); ,,,return 内爆(“\ r \ n", arrAll美元); ,,} static 才能protected function  BuildTableSql () {才能 ,,,tables 美元;=,self::可以获得的(); ,,,arrAll 美元;=,数组(); ,,,foreach (tables 美元;as , val美元){ ,,,,,rs 美元;=,M()→查询(“SHOW  CREATE TABLE ‘{$ val}“); ,,,,,tbSql 美元;=,preg_replace(“#创建(. *)\ \ s +表#“,“CREATE TABLE", rs美元[0][& # 39;CREATE 表# 39;]); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null使用ThinkPHP怎么备份MySQL数据库