Denne kode klarer det. Du skal blot indsætte adgangsoplysningerne til din database i linjerne 4-7. Husk også at angive de tabeller, du ønsker dumpet: Dette gør du i linjerne 184-186 og hvor du blot kan indsætte flere tabeller.
Så virker det.
Men du bør også være opmærksom på adgangen til php-filen, så uautoriserede ikke kan aktivere den.
$config = ini(); mysql_connect($config[db_serv],$config[db_user],$config[db_pass]) or die (mysql_error()); mysql_select_db($config[db_base]) or die (mysql_error());
//ret herunder $dbhost = $config[db_serv]; // Angiv din host til MySQL? $dbuname = $config[db_user]; // Dit Brugernavn? $dbpass = $config[db_pass]; // Dit Password? $dbname = $config[db_base]; // Angiv Database navn
/* Dette script generer en txt fil til download med et fuldstændigt dump af din database. Det er en modifikation af backup scriptet der følger med PHPnuke.
Hvordan bruger jeg det: Ret oplysningerne nedenfor. Lav en fil og kald den hvad du vil. Når du aktiverer filen, vil scriptet tage backup af din database - nemt ik ;o). */
//ret intet herunder @set_time_limit(600); $crlf="\n";
// doing some DOS-CRLF magic... $client = getenv("HTTP_USER_AGENT"); if(ereg('[^(]*\((.*)\)[^)]*',$client,$regs)){ $os = $regs[1]; // this looks better under WinX if (eregi("Win",$os)) $crlf="\r\n"; }
function my_handler($sql_insert){ global $crlf; return "$sql_insert;$crlf"; }
// Get the content of $table as a series of INSERT statements. // After every row, a custom callback function $handler gets called. // $handler must accept one parameter ($sql_insert); function get_table_content($db, $table, $handler){ $output = ''; $result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die(); $i = 0; while($row = mysql_fetch_row($result)){ $table_list = "(";
global $bruger, $dbhost, $dbuname, $dbpass, $dbname; mysql_connect($dbhost, $dbuname, $dbpass); @mysql_select_db("$dbname") or die ("Kunne ikke forbinde til databasen");
Notice: Use of undefined constant db_serv - assumed 'db_serv' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 12
Notice: Use of undefined constant db_user - assumed 'db_user' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 12
Notice: Use of undefined constant db_pass - assumed 'db_pass' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 12
Notice: Use of undefined constant db_base - assumed 'db_base' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 13
Notice: Use of undefined constant db_serv - assumed 'db_serv' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 16
Notice: Use of undefined constant db_user - assumed 'db_user' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 17
Notice: Use of undefined constant db_pass - assumed 'db_pass' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 18
Notice: Use of undefined constant db_base - assumed 'db_base' in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 19
Deprecated: Function ereg() is deprecated in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 52
Deprecated: Function eregi() is deprecated in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 55
Deprecated: Function mysql_list_tables() is deprecated in C:\Users\JyskMedia\Documents\My Dropbox\test_dump\index.php on line 164 # ======================================================== # # Backup af database : cycling # Downloadet d. 28-03-2010 kl. 21:31 # # ========================================================
$config = ini(); mysql_connect($config[db_serv],$config[db_user],$config[db_pass]) or die (mysql_error()); mysql_select_db($config[db_base]) or die (mysql_error());
//ret herunder $dbhost = $config[db_serv]; // Angiv din host til MySQL? $dbuname = $config[db_user]; // Dit Brugernavn? $dbpass = $config[db_pass]; // Dit Password? $dbname = $config[db_base]; // Angiv Database navn
/* Dette script generer en txt fil til download med et fuldstændigt dump af din database. Det er en modifikation af backup scriptet der følger med PHPnuke.
Hvordan bruger jeg det: Ret oplysningerne nedenfor. Lav en fil og kald den hvad du vil. Når du aktiverer filen, vil scriptet tage backup af din database - nemt ik ;o). */
//ret intet herunder @set_time_limit(600); $crlf="\n";
// doing some DOS-CRLF magic... $client = getenv("HTTP_USER_AGENT"); if(ereg('[^(]*\((.*)\)[^)]*',$client,$regs)){ $os = $regs[1]; // this looks better under WinX if (eregi("Win",$os)) $crlf="\r\n"; }
function my_handler($sql_insert){ global $crlf; return "$sql_insert;$crlf"; }
// Get the content of $table as a series of INSERT statements. // After every row, a custom callback function $handler gets called. // $handler must accept one parameter ($sql_insert); function get_table_content($db, $table, $handler){ $output = ''; $result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die(); $i = 0; while($row = mysql_fetch_row($result)){ $table_list = "(";
global $bruger, $dbhost, $dbuname, $dbpass, $dbname; mysql_connect($dbhost, $dbuname, $dbpass); @mysql_select_db("$dbname") or die ("Kunne ikke forbinde til databasen");
Jeg gætter på, at det er adgangsoplysninger til din database/tabel. Er du sikker på, at dit password er "root". På min lokale server, er passwordet tomt.
Og hedder både din database og den ene tabel "cycling"?
Jeg har læst lidt om fejlteksten. Du har helt ret i, at php 5.3 giver problemerne. Hvis du fjerner fejlbeskederne i din local-server, så tror jeg, at det virker. Det er selvfølgelig ikke den rette løsning, men det er givetvis svaret på, hvorfor installationerne hos one.com ikke får fejlen, selvom der anvendes php 5.3.
Jeg kan fx. læse, at ereg() skal erstattes af preg_match() og mysql_list_tables() med mysql_query()
Vi skal lige have løst små-problemerne. Det er jeg jo også interesseret i, så scriptet også virker 100% på de nye php-versioner. Jeg får først tid til at kigge på det i senere aften. Men lad mig høre, hvis du finder løsningen.
<br /> <b>Deprecated</b>: mysql_db_query() [<a href='function.mysql-db-query'>function.mysql-db-query</a>]: This function is deprecated; use mysql_query() instead in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>109</b><br /> <br /> <b>Deprecated</b>: Function ereg_replace() is deprecated in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>121</b><br /> <br /> <b>Deprecated</b>: mysql_db_query() [<a href='function.mysql-db-query'>function.mysql-db-query</a>]: This function is deprecated; use mysql_query() instead in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>122</b><br /> <br /> <b>Deprecated</b>: mysql_db_query() [<a href='function.mysql-db-query'>function.mysql-db-query</a>]: This function is deprecated; use mysql_query() instead in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>71</b><br /> <br /> <b>Deprecated</b>: mysql_db_query() [<a href='function.mysql-db-query'>function.mysql-db-query</a>]: This function is deprecated; use mysql_query() instead in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>109</b><br /> <br /> <b>Deprecated</b>: Function ereg_replace() is deprecated in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>121</b><br /> <br /> <b>Deprecated</b>: mysql_db_query() [<a href='function.mysql-db-query'>function.mysql-db-query</a>]: This function is deprecated; use mysql_query() instead in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>122</b><br /> <br /> <b>Deprecated</b>: mysql_db_query() [<a href='function.mysql-db-query'>function.mysql-db-query</a>]: This function is deprecated; use mysql_query() instead in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>71</b><br /> <br /> <b>Deprecated</b>: Function ereg_replace() is deprecated in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>95</b><br /> <br /> <b>Deprecated</b>: Function ereg_replace() is deprecated in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>95</b><br /> <br /> <b>Deprecated</b>: Function ereg_replace() is deprecated in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>95</b><br /> <br /> <b>Deprecated</b>: Function ereg_replace() is deprecated in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>95</b><br /> <br /> <b>Deprecated</b>: Function ereg_replace() is deprecated in <b>C:\Users\Documents\My Dropbox\test_dump\index.php</b> on line <b>95</b><br /> # ========================================================
OK - det var 2 nye, som jeg ikke havde set tidligere:
1. ereg_replace() 2. mysql_db_query()
Dem kigger jeg lige på og vender tilbage senere.
Synes godt om
Ny brugerNybegynder
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.