| /** * * @name PHP Backup Database * @param string $DbHost connect the host * @param string $DbUser user name * @param string $DBPWD connection password * @param string $DbName The database to be backed up * @param string $saveFileName The name of the file to be saved, the default file is saved in the current folder and is distinguished by date * @return Null * @example backupmysqldata (' localhost ', ' root ', ' 123456 ', ' 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, 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 '); declaring variables $isDropInfo = "; $insertSQL = "; $row = Array (); $tables = Array (); $tableStructure = Array (); $fileName = ($saveFileName? $saveFileName: ' Mysql_data_bakeup_ '). Date (' Ymdhis '). '. SQL '; Enumerate all tables of 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 INSERT statements for all tables foreach ($tables as $val) { $res = mysql_query ("SELECT * from $val"); Tables with no data do not execute insert 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 was successful! '; } Call this method Backupmysqldata (' localhost ', ' root ', ' 123456 ', ' youdbname '); ?> |