Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $dbName = '';
- $dbHost = 'localhost';
- $dbUser = 'root';
- $dbPass = '';
- $backupsDir = 'backups';
- $pdo = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
- $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $sqlResult = $pdo -> query("SHOW tables FROM $dbName");
- $sqlData = "-- Data wykonania kopii: ".date('d.m.Y')." r. o godzinie ".date('H:i')."
- -- Baza: $dbName
- SET SQL_MODE=\"NO_AUTO_VALUE_ON_ZERO\";";
- while ($queryTable = $sqlResult -> fetch(PDO::FETCH_ASSOC)){
- $sqlTable = $queryTable['Tables_in_'.$dbName];
- $sqlResultB = $pdo -> query("SHOW CREATE TABLE $sqlTable");
- $queryTableInfo = $sqlResultB -> fetch(PDO::FETCH_ASSOC);
- $sqlData .= "\n\n--
- -- Struktura dla tabeli `$sqlTable`
- --\n\n";
- $sqlData .= $queryTableInfo['Create Table'] . ";\n";
- $sqlData .= "\n\n--
- -- Wartości tabeli `$sqlTable`
- --\n\n";
- $sqlResultC = $pdo -> query("SELECT * FROM $sqlTable");
- while ($queryRecord = $sqlResultC -> fetch(PDO::FETCH_ASSOC)) {
- $sqlData .= "INSERT INTO `$sqlTable` VALUES (";
- $sqlRecord = '';
- foreach( $queryRecord as $sqlField => $sqlValue ) {
- $sqlRecord .= "'$sqlValue',";
- }
- $sqlData .= substr($sqlRecord, 0, -1);
- $sqlData .= ");\n";
- }
- }
- file_put_contents($backupsDir.'/backup_'.$dbName.'_'.date('d_m_Y').'.sql', $sqlData);
- echo 'Backup został zapisany.';
- }
- catch(PDOException $e){
- echo 'Połączenie nie mogło zostać utworzone: '.$e->getMessage();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement