Avatar billede kaktus Nybegynder
28. marts 2008 - 09:09 Der er 3 kommentarer og
1 løsning

sql database backup

Jeg har følgende kode som virker......
PHP scriptet kontakter en sql database og laver et sql dump som en gzip fil på webserver harddisk...
MEN
vil gerne have linie 44 tilføjet i stedet for linie 43 men de vil ikke virke.....
OG
vigtigst i sql dump bliver aller karaktere æ, ø, å fra db bliver til ? (spørgsmålstegn)
Kan du løse disse to problemer og 60 point er dine.
Avatar billede kaktus Nybegynder
28. marts 2008 - 09:10 #1
KODEN...................
<?PHP session_start();
set_time_limit(0);
$dato = time();
//login opsysninger herunder
$dbserver = "localhost";
$dbuser = "bruger";
$dbpass = "password";
$dbname = "databasenavn";
$file = "filename.sql.gz";
$file = "komplette sti til roden af server/".$dato.".sql.gz";

$gzip = TRUE;
$silent = TRUE;

function write($contents) {
    if ($GLOBALS['gzip']) {
        gzwrite($GLOBALS['fp'], $contents);
    } else {
        fwrite($GLOBALS['fp'], $contents);
    }
}

mysql_connect ($dbserver, $dbuser, $dbpass);
mysql_select_db($dbname);

if ($gzip) {
    $fp = gzopen($file, "w");
} else {
    $fp = fopen($file, "w");
}

$tables = mysql_query ("SHOW TABLES");
while ($i = mysql_fetch_array($tables)) {
    $i = $i['Tables_in_'.$dbname];

    if (!$silent) {
        echo "Backing up table ".$i."\n";
    }

    // Create DB code
    $create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i));

    write($create['Create Table'].";\n\n");
    //write($create['DROP TABLE IF EXISTS'].";\n\n");
   

    // DB Table content itself
    $sql = mysql_query ("SELECT * FROM ".$i);
    if (mysql_num_rows($sql)) {
        while ($row = mysql_fetch_row($sql)) {
            foreach ($row as $j => $k) {
                $row[$j] = "'".mysql_escape_string($k)."'";
            }

            write("INSERT INTO $i VALUES(".implode(",", $row).");\n");
        }
    }
}

$gzip ? gzclose($fp) : fclose ($fp);
$_SESSION["sid"] = "";

?>
Avatar billede kaktus Nybegynder
28. marts 2008 - 09:12 #2
Det er linien med
'DROP TABLE IF EXISTS
jeg gerne vil have tilføjet og så lige det med æ ø og å.
Avatar billede kaktus Nybegynder
28. marts 2008 - 10:26 #3
Jeg har fået denne til at virke som jeg ønske
http://www.eksperten.dk/spm/319984
MEN.............
faldt over denne
http://www.holomarcus.nl/new/item/17
http://www.eksperten.dk/spm/651866
som ser rigtig interessant ud, er der nogen der har fået den til at virke hos mig gir den en fejl
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /min_fil.php on line 67
og sql i den modtagne email er tom
Avatar billede kaktus Nybegynder
04. april 2008 - 21:47 #4
Ingen svar.........
Har selv fundet en løsning med delvis hjælp af foregående links....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester