Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- define('HOST', 'localhost');
- define('USER', 'root');
- define('PASS', '');
- define('BASE', 'base');
- define('CHAR', 'utf8');
- try {
- $pdo = new Pdo('mysql:host='.HOST.';dbname='.BASE.';charset='.CHAR, USER, PASS);
- $pdo->setAttribute(PDO::ATTR_ERRMODE, ERRMODE_WARNING);
- } catch(PDOException $e) {
- exit('Ошибка подключения к Базе Данных.<br>'.$e->getMessage());
- }
- function get_tables() {
- GLOBAL $pdo;
- $sql = $pdo->query("SHOW TABLES");
- return $sql->fetchAll(PDO::FETCH_NUM);
- }
- function get_create_sql($table) {
- GLOBAL $pdo;
- $sql = $pdo->query("SHOW CREATE TABLE `$table`");
- return $sql->fetch(PDO::FETCH_NUM);
- }
- function get_table_data($table) {
- GLOBAL $pdo;
- $sql = $pdo->query("SELECT * FROM `$table`");
- while($res = $sql->fetch(PDO::FETCH_ASSOC)) {
- $k = []; $v = [];
- foreach($res as $key=>$val) {
- $k[] = '`'.$key.'`';
- $v[] = $pdo->quote($val);
- }
- if(!$start) {
- echo PHP_EOL."INSERT INTO `$table` (".implode(', ', $k).") VALUES";
- }
- if($start) {
- echo ',';
- } else {
- $start = true;
- }
- echo PHP_EOL.'('.implode(', ', $v).')';
- }
- }
- header('Content-type: application/sql');
- header('Content-Disposition: attachment; filename="'.date('dmy_His').'.sql"');
- $tables = get_tables();
- foreach($tables as $table) {
- $table = array_shift($table);
- $create_sql = get_create_sql($table);
- $create_sql = $create_sql[1];
- echo $create_sql.';'.PHP_EOL.PHP_EOL;
- echo get_table_data($table).';'.PHP_EOL;
- }
- ?>
Add Comment
Please, Sign In to add comment