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);
?>
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);
?>
No comments:
Post a Comment