MySQL backup functie
Auteur: Maarten - 26 juli 2006 - 17:41 - Gekeurd door: Maarten - Hits: 2570 - Aantal punten: 3.42 (6 stemmen)
Met deze functie kan je 1 database backuppen (de database waarmee je verbonden bent).
Het resultaat zijn queries, die je in geval van verlies of schade kan uitvoeren om je database te herstellen (structuur + inhoud).
|
Code: |
<?php
function backupDatabase() {
$query = array();
$query[] = '#####################################';
$query[] = '# DATABASE BACKUP by Murfy #';
$query[] = '# #';
$query[] = '# Backup datum: '.date('d-m-Y H:i:s').' #';
$query[] = '#####################################';
// Tabelnamen zoeken
$qTables = mysql_query("SHOW TABLE STATUS") or die(mysql_error());
while($aTables = mysql_fetch_assoc($qTables)) {
// De create-table query maken
$query[] = "\n\n".'#############'.str_repeat('#',strlen($aTables['Name'])).'##';
$query[] = '# Tabelnaam: '.$aTables['Name'].' #';
$query[] = '#############'.str_repeat('#',strlen($aTables['Name'])).'##';
$qCreate = mysql_query("SHOW CREATE TABLE ".$aTables['Name']);
$aCreate = mysql_fetch_assoc($qCreate);
$query[] = $aCreate['Create Table'].';';
$query[] = "\n".'# Data invoeren '."\n";
$qData = mysql_query("SELECT * FROM ".$aTables['Name']);
while($aData = mysql_fetch_assoc($qData)) {
foreach($aData as $key => $value) {
// Indien het een nummer is horen daar quotes rond, alsook wat veiligheid
$aData[$key] = mysql_real_escape_string($value);
}
$query[] = "INSERT INTO `".$aTables['Name']."` "
. "(`".implode('`, `', array_keys($aData))."`) VALUES "
. "('".implode("', '", $aData)."');";
}
}
// Alles aan elkaar zetten met returns ertussen
$query = implode("\n", $query);
return $query;
}
?>
<?php function backupDatabase() { $query[] = '#####################################'; $query[] = '# DATABASE BACKUP by Murfy #'; $query[] = '# #'; $query[] = '# Backup datum: '.date('d-m-Y H:i:s').' #'; $query[] = '#####################################'; // Tabelnamen zoeken // De create-table query maken $query[] = "\n\n".'#############'.str_repeat('#',strlen($aTables['Name'])).'##'; $query[] = '# Tabelnaam: '.$aTables['Name'].' #'; $qCreate = mysql_query("SHOW CREATE TABLE ".$aTables['Name']); $query[] = $aCreate['Create Table'].';'; $query[] = "\n".'# Data invoeren '."\n"; $qData = mysql_query("SELECT * FROM ".$aTables['Name']); foreach($aData as $key => $value) { // Indien het een nummer is horen daar quotes rond, alsook wat veiligheid } $query[] = "INSERT INTO `".$aTables['Name']."` " . "('".implode("', '", $aData)."');"; } } // Alles aan elkaar zetten met returns ertussen return $query; } ?>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|