| /** * * @ Name php back up the database * @ Param string $ DbHost connects to the host * @ Param string $ DbUser user name * @ Param string $ DbPwd connection password * @ Param string $ DbName the database to be backed up * @ Param string $ saveFileName indicates the name of the file to be saved. by default, the file is saved in the current folder, which is differentiated by date. * @ Return Null * @ Example backupMySqlData ('localhost', 'root', '000000', 'yourdbname '); * */ Function backupMySqlData ($ DbHost, $ DbUser, $ DbPwd, $ DbName, $ saveFileName = '') { Header ("Content-type: text/html; charset = utf-8 "); Error_reporting (0 ); Set_time_limit (0 ); Echo 'data backup in progress. please wait ...... '; $ Link = mysql_connect ($ DbHost, $ DbUser, $ DbPwd) or die ('database connection failed: '. mysql_error ()); Mysql_select_db ($ DbName) or die ('database connection failed: '. mysql_error ()); Mysql_query ('set names utf8 '); // Declare variables $ IsDropInfo = ''; $ InsertSQL = ''; $ Row = array (); $ Tables = array (); $ TableStructure = array (); $ FileName = ($ saveFileName? $ SaveFileName: 'MySQL _ data_bakeup _ '). date ('ymdhis'). '. SQL '; // Enumerate all tables in the database $ Res = mysql_query ("show tables from $ DbName "); While ($ row = mysql_fetch_row ($ res )){ $ Tables [] = $ row [0]; } Mysql_free_result ($ res ); // Enumerate creation statements for all tables Foreach ($ tables as $ val ){ $ Res = mysql_query ("show create table $ val", $ link ); $ Row = mysql_fetch_row ($ res ); $ IsDropInfo = "drop table if exists" '. $ val. "'; \ r \ n "; $ TableStructure = $ isDropInfo. $ row [1]. "; \ r \ n "; File_put_contents ($ fileName, $ tableStructure, FILE_APPEND ); Mysql_free_result ($ res ); } // Enumerate the INSERT statements of all tables Foreach ($ tables as $ val ){ $ Res = mysql_query ("select * from $ val "); // Insert is not executed for tables without data While ($ row = mysql_fetch_row ($ res )){ $ SqlStr = "insert into" '. $ val. "'values ("; Foreach ($ row as $ v ){ $ SqlStr. = "'$ V ',"; } // Remove the last comma $ SqlStr = substr ($ sqlStr, 0, strlen ($ sqlStr)-1 ); $ SqlStr. = "); \ r \ n "; File_put_contents ($ fileName, $ sqlStr, FILE_APPEND ); } Mysql_free_result ($ res ); } Echo 'data backup successful! '; } // Call this method BackupMySqlData ('localhost', 'root', '123', 'youdbname '); ?> |