Thursday, January 28, 2016

How to create table backup using native Php Script ( Using PHP/PDO )

Take database backup using PHP Script

------------------------

<?php
session_start();
$con = include("connection.php");


function backup_db($con){
/* Store All Table name in an Array */
$allTables = array();

$query = $con->query('SHOW TABLES');

$result=$query->fetchAll(PDO::FETCH_COLUMN);
$allTables=$result;    

$return ='';
foreach($allTables as $table){
$result_tab = $con->query('SELECT * FROM '.$table);
$num_fields = $result_tab->columnCount();

$return.= 'DROP TABLE IF EXISTS '.$table.';';

$create_query = $con->query('SHOW CREATE TABLE '.$table);
$row2 = $create_query->fetch(PDO::FETCH_NUM);
$return.= "\n\n".$row2[1].";\n\n";

for ($i = 0; $i < $num_fields; $i++)
    {
        $eachRow =$result_tab->fetchAll(PDO::FETCH_NUM);
        foreach($eachRow as $keys=>$row)
        {
                $return.= 'INSERT INTO '.$table.' VALUES(';
                for($j=0; $j<$num_fields; $j++){
                    $row[$j] = addslashes($row[$j]);
                    $row[$j] = str_replace("\n","\\n",$row[$j]);
                        if (isset($row[$j]))
                            {
                                $return.= '"'.$row[$j].'"' ;
                            }
                            else
                            {
                               $return.= '""';
                            }
                if($j<($num_fields-1))
                {
                    $return.= ',';
                }
                }
            $return.= ");\n";
         }
    }
    $return.="\n\n";
}

// Create Backup Folder
$folder = 'sql/';
if (!is_dir($folder))
mkdir($folder, 0777, true);
chmod($folder, 0777);

$date = date('m-d-Y-H-i-s', time());
$filename = $folder."db-backup-".$date.'.sql';
$_SESSION['backupFile'] = $filename; // you can found out this file path while importing
$handle = fopen($filename,'w+');
fwrite($handle,$return);
fclose($handle);
}

// Call the function
backup_db($con);
?>



 How to import sql backup using php script ( Using PHP/PDO )

No comments:

Post a Comment