Other option than using mysql dump
The below is a tested php code to backup database in .sql file
The above code will create a .sql file in the location you have set in the code.To backup data time to time say in every day you have to hit this php file after each day to do that in:
PHP FUNCTION function Backuptables()
{
$link = mysql_connect('localhost','root','');
mysql_select_db('placio_new',$link);
mysql_query("SET NAMES 'utf8'");
$tables = '*';
$dir = Yii::getAlias('@frontend')."/";
//get all of the tables
if($tables == '*')
{
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result))
{
$tables[] = $row[0];
}
}
else
{
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
$return='';
//cycle through
foreach($tables as $table)
{
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
//$return.= 'DROP TABLE '.$table.';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
$return.= "\n\n".$row2[1].";\n\n";
for ($i = 0; $i < $num_fields; $i++)
{
while($row = mysql_fetch_row($result))
{
$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\n";
}
//save file
$way = $dir.'Placio_'.date('d-m-Y h-i-s').'.sql';
$handle = fopen($way,'w+');
fwrite($handle,$return);
fclose($handle);
echo $way;
}
how to backup MYSQL Database in PHP :: how to create a backup database script in php
No comments:
Post a Comment