Ec (2); php database online backup code functionsqldumptable ($ table, $ fp0) {& nbsp; $ tabledump & quot; DROPTABLEIFEXISTS $ table; n & quot ;; & nbsp; $ tabledump. & quot; CREATETABLE $ table (n & quot; & nbsp; script ec (2); script
Php database online backup code
Function sqldumptable ($ table, $ fp = 0 ){
$ Tabledump = "drop table if exists $ table; n ";
$ Tabledump. = "create table $ table (n ";
$ Firstfield = 1;
$ Fields = mysql_query ("show fields from $ table ");
While ($ field = mysql_fetch_array ($ fields )){
If (! $ Firstfield ){
$ Tabledump. = ", n ";
} Else {
$ Firstfield = 0;
}
$ Tabledump. = "$ field [Field] $ field [Type]";
If (! Empty ($ field ["Default"]) {
$ Tabledump. = "DEFAULT '$ field [Default]'";
}
If ($ field ['null']! = "YES "){
$ Tabledump. = "not null ";
}
If ($ field ['extra ']! = ""){
$ Tabledump. = "$ field [Extra]";
}
}
Mysql_free_result ($ fields );
$ Keys = mysql_query ("show keys from $ table ");
While ($ key = mysql_fetch_array ($ keys )){
$ Kname = $ key ['key _ name'];
If ($ kname! = "PRIMARY" and $ key ['non _ unique'] = 0 ){
$ Kname = "UNIQUE | $ kname ";
}
If (! Is_array ($ index [$ kname]) {
$ Index [$ kname] = array ();
}
$ Index [$ kname] [] = $ key ['column _ name'];
}
Mysql_free_result ($ keys );
While (list ($ kname, $ columns) = @ each ($ index )){
$ Tabledump. = ", n ";
$ Colnames = implode ($ columns ,",");
If ($ kname = "PRIMARY "){
$ Tabledump. = "primary key ($ colnames )";
} Else {
If (substr ($ kname, 0, 6) = "UNIQUE "){
$ Kname = substr ($ kname, 7 );
}
$ Tabledump. = "KEY $ kname ($ colnames )";
}
}
$ Tabledump. = "n); nn ";
If ($ fp ){
Fwrite ($ fp, $ tabledump );
} Else {
Echo $ tabledump;
}
$ Rows = mysql_query ("SELECT * FROM $ table ");
$ Numfields = mysql_num_fields ($ rows );
While ($ row = mysql_fetch_array ($ rows )){
$ Tabledump = "insert into $ table VALUES (";
$ Fieldcounter =-1;
$ Firstfield = 1;
While (++ $ fieldcounter <$ numfields ){
If (! $ Firstfield ){
$ Tabledump. = ",";
} Else {
$ Firstfield = 0;
}
If (! Isset ($ row [$ fieldcounter]) {
$ Tabledump. = "NULL ";
} Else {
$ Tabledump. = "'". mysql_escape_string ($ row [$ fieldcounter]). "'";
}
}
$ Tabledump. = "); n ";
If ($ fp ){
Fwrite ($ fp, $ tabledump );
} Else {
Echo $ tabledump;
}
}
Mysql_free_result ($ rows );
}
@ Mysql_connect ($ servername, $ dbusername, $ dbpassword) or die ("database connection failed ");
@ Mysql_select_db ($ dbname) or die ("failed to select database ");
$ Table = array_flip ($ _ POST ['table']);
$ Result = mysql_query ("SHOW tables ");
Echo ($ result )? NULL: "error:". mysql_error ();
$ Filename = basename ($ _ SERVER ['HTTP _ host']. "_ MySQL. SQL ");
Header ('content-type: application/unknown ');
Header ('content-Disposition: attachment; filename = '. $ filename );
$ Mysqldata = '';
While ($ currow = mysql_fetch_array ($ result )){
If (isset ($ table [$ currow [0]) {
$ Mysqldata. = sqldumptable ($ currow [0]);
$ Mysqldata. = $ mysqldata. "rn ";
}
}
Mysql_close ();
Exit;