phobia
Terugkerende gebruiker
- Lid geworden
- 4 sep 2006
- Berichten
- 1.777
Ik ben bezig met een site onderdeel,
waar ik de inhoud van een database backup naar een zip bestand.
Nu lukt het maken van de backup.
Ik maak eerst een txt bestand welke later word gezipt. Ik maak het txt-bestand als volgt:
ik zal ook de zipfile erbij doen die ik maak.
Maar nu komt het probleem, als ik de inhoud van het zip bestand copy/past in de SQL optie van myadmin. Dan word de database weer netjes hesteld.
Maar ik moet via de site een oudere backup kunnen terug zetten.Maar dan krijg ik een MySQL error.
De query gaat dan als volgt:
Kan iemand mij ff en duwtje in de juiste richting geven?
waar ik de inhoud van een database backup naar een zip bestand.
Nu lukt het maken van de backup.
Ik maak eerst een txt bestand welke later word gezipt. Ik maak het txt-bestand als volgt:
PHP:
function fetch_content_database()
{
// connect to database
db_connect();
//query to recive table names
$query = mysql_query('SHOW TABLE STATUS') or die(mysql_error());
$sql_backup = '';
//whileloop to loop trough every table
while($row = mysql_fetch_assoc($query))
{
//show sql query to rebuild the query
$sql = 'SHOW CREATE TABLE '.$row['Name'].'';
//exucte error or give a error
$query2 = mysql_query($sql) or die(mysql_error());
//create sql
$out = mysql_fetch_assoc($query2);
$sql_backup.=$out['Create Table']."\r\n\r\n";
//SQL code to select everything for table
$sql = 'SELECT * FROM '.$row['Name'];
$out = mysql_query($sql);
$sql_code = '';
//loop trough the colloms
while($code = mysql_fetch_array($out,MYSQL_ASSOC))
{
$sql_code .= "INSERT INTO ".$row['Name']." SET ";
foreach($code as $insert => $value)
{
$sql_code.=$insert ."='".addslashes($value)."',";
}
$sql_code = substr($sql_code, 0, -1);
$sql_code.= ";\r\n";
}
$sql_backup.= $sql_code;
}
return $sql_backup;
}
function create_file($name,$file,$temp_file)
{
$fp = fopen($temp_file.$name.'.txt',"w");
fwrite($fp, $file);
fclose($fp);
}
Maar nu komt het probleem, als ik de inhoud van het zip bestand copy/past in de SQL optie van myadmin. Dan word de database weer netjes hesteld.
Maar ik moet via de site een oudere backup kunnen terug zetten.Maar dan krijg ik een MySQL error.
De query gaat dan als volgt:
PHP:
function import_txt_as_query($temp_file,$name)
{
return file_get_contents ($temp_file.$name.".txt");
}
$data = import_txt_as_query($temp_file,$name);
$result = mysql_query($data);
Kan iemand mij ff en duwtje in de juiste richting geven?