Discussione: Backup Database
View Single Post
Old 17-03-2004, 10:22   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Devi raddoppiare le connessioni:
Codice PHP:
<?
$oConn1
=mysql_connect("127.0.0.1","admin","admin");
$oConn2=mysql_connect("192.168.0.x","admin","admin");
$oComm1=mysql_db_query("DB_1","SELECT * FROM Articoli",$oConn1); // Sorgente
$oComm2=mysql_db_query("DB_2","SELECT * FROM Articoli",$oConn2); // Destinazione
while($oRead1=mysql_fetch_array($oComm1)){

.....
    }
}
mysql_close($oConn);
?>
Comunque è sbagliato il controllo...
Così se manca anche un solo dato in DB_2 li reinserisci tutti (generando molti errori)!!!
Se il dato discrimminante è il campo Img:
Codice PHP:
$oComm1=mysql_db_query("DB_1","SELECT * FROM Articoli ORDER BY Img ASC;",$oConn1); // Sorgente
$oComm2=mysql_db_query("DB_2","SELECT * FROM Articoli ORDER BY Img ASC;",$oConn2); // Destinazione
$flag FALSE;
while(
$oRead1=mysql_fetch_array($oComm1))
{
    if(!(
$oRead2=mysql_fetch_array($oComm2))
        
$flag TRUE;

    while(
$oRead1["Img"] < $oRead2["Img"] || $flag == TRUE)
    {
        
$sTitolo=$oRead1["Titolo"];
        
$sID=$oRead1["ID_Categoria_Articolo_1"];
        
$dImg=$oRead2["Img"];
        
$sImg=$oRead1["Img"];

        
mysql_db_query("DB_2","INSERT INTO Articoli SET Titolo='$sTitolo',Img='$sImg',ID_Categoria_Articolo_1='$sID'",$oConn2);
        if(!(
$oRead1=mysql_fetch_array($oComm1))
            break;

    }
    if(
$oRead1["Img"] != $oRead2["Img"] && $flag == FALSE)
        exit(
"Errore: nel db_1 manca un dato presente nel db_2");

La variabile flag serve a gestire il caso in cui i dati siano stati aggiunti in fondo a DB_1...

Ultima modifica di cionci : 17-03-2004 alle 10:34.
cionci è offline   Rispondi citando il messaggio o parte di esso