Mit dem folgenden Code können MySQL-Datenbanken auf einfache Weise gesichert werden. Es müssen lediglich die Verbindungs-Parameter an die Methode „backupMySQLDB“ übergeben werden. Optional kann noch ein Dateinamen für die Backup-Datei angegeben werden.
Code:
{
set_time_limit(0);
$sOutput = "";
$oConnection = new mysqli($sDBHost, $sDBUser, $sDBPassword, $sDBName);
$mTables = $oConnection->query("SHOW TABLES");
while ($aTable = $mTables->fetch_assoc())
{
$sOutput.="DROP TABLE IF EXISTS `".$aTable['Tables_in_'.$sDBName]."`;\n";
$aResult = $oConnection->query("SHOW CREATE TABLE `".$aTable['Tables_in_'.$sDBName]."`")->fetch_assoc();
$sOutput.=$aResult['Create Table'].";\n";
$rResult =$oConnection->query("SELECT * FROM `".$aTable['Tables_in_'.$sDBName]."`");
while($aRow = $rResult->fetch_assoc())
$sOutput.= "INSERT INTO `".$aTable['Tables_in_'.$sDBName]."` VALUES('".implode("', '", array_values($aRow))."');\n";
}
fwrite($rOutput = fopen(($sDBBackupFile == "" ? "Backup-".$sDBName."-".date('Y-m-d_H-i').".sql" : $sDBBackupFile), "w"), $sOutput);
fclose($rOutput);
}