login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > MySQL backup functie

MySQL backup functie

Auteur: Maarten - 26 juli 2006 - 17:41 - Gekeurd door: Maarten - Hits: 2456 - 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:
  1. <?php
  2. function backupDatabase() {
  3. $query = array();
  4.  
  5. $query[] = '#####################################';
  6. $query[] = '# DATABASE BACKUP by Murfy #';
  7. $query[] = '# #';
  8. $query[] = '# Backup datum: '.date('d-m-Y H:i:s').' #';
  9. $query[] = '#####################################';
  10.  
  11. // Tabelnamen zoeken
  12. $qTables = mysql_query("SHOW TABLE STATUS") or die(mysql_error());
  13. while($aTables = mysql_fetch_assoc($qTables)) {
  14. // De create-table query maken
  15. $query[] = "\n\n".'#############'.str_repeat('#',strlen($aTables['Name'])).'##';
  16. $query[] = '# Tabelnaam: '.$aTables['Name'].' #';
  17. $query[] = '#############'.str_repeat('#',strlen($aTables['Name'])).'##';
  18.  
  19. $qCreate = mysql_query("SHOW CREATE TABLE ".$aTables['Name']);
  20. $aCreate = mysql_fetch_assoc($qCreate);
  21. $query[] = $aCreate['Create Table'].';';
  22.  
  23. $query[] = "\n".'# Data invoeren '."\n";
  24.  
  25. $qData = mysql_query("SELECT * FROM ".$aTables['Name']);
  26. while($aData = mysql_fetch_assoc($qData)) {
  27. foreach($aData as $key => $value) {
  28. // Indien het een nummer is horen daar quotes rond, alsook wat veiligheid
  29. $aData[$key] = mysql_real_escape_string($value);
  30. }
  31.  
  32. $query[] = "INSERT INTO `".$aTables['Name']."` "
  33. . "(`".implode('`, `', array_keys($aData))."`) VALUES "
  34. . "('".implode("', '", $aData)."');";
  35. }
  36.  
  37. }
  38.  
  39. // Alles aan elkaar zetten met returns ertussen
  40. $query = implode("\n", $query);
  41. return $query;
  42.  
  43. }
  44. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (5)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.027s