Restauration de la base mysql
Bonjour
Sur le même schéma que pour la sauvegarde, j'aimerai pouvoir restaurer un fichier sauvegardé.
J'ai pensé ajouter un bouton restaurer la base en face de chaque ligne qui affiche les sauvegarde faite.
pour cela je doit créer une méthode dans le main que j’appellerai restore()
Dans cette méthode, je peux récupérer l'adresse du fichier pour faire le traitement
J'ai récupéré un code qui fait la restauration et je pense m'aider de celuici
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| <?php
/*
* Restore MySQL dump using PHP
* (c) 2006 Daniel15
* Last Update: 9th December 2006
* Version: 0.2
* Edited: Cleaned up the code a bit.
*
* Please feel free to use any part of this, but please give me some credit :-)
*/
// Name of the file
$filename = 'test.sql';
// MySQL host
$mysql_host = 'localhost';
// MySQL username
$mysql_username = 'root';
// MySQL password
$mysql_password = '';
// Database name
$mysql_database = 'secu02';
//////////////////////////////////////////////////////////////////////////////////////////////
// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());
// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename);
// Loop through each line
foreach ($lines as $line)
{
// Skip it if it's a comment
if (substr($line, 0, 2) == '--' || $line == '')
continue;
// Add this line to the current segment
$templine .= $line;
// If it has a semicolon at the end, it's the end of the query
if (substr(trim($line), -1, 1) == ';')
{
// Perform the query
mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
// Reset temp variable to empty
$templine = '';
}
}
echo "restauration faite";
?> |
Comme j’interviens sur la base j'ai pensé qu'il fallait créer un model/model_restore.php
Est-ce utile?
Le traitement ne peux-t-il pas se faire directement dans mon main?
Si oui comment me connecter à la base et réaliser ma sauvegarde?