$i = 0; if (isset($table_select)) { $tmp_select = implode($table_select, '|'); $tmp_select = '|' . $tmp_select . '|'; } while ($i < $num_tables) { if (!isset($single)) { $table = mysql_tablename($tables, $i); } if (isset($tmp_select) && is_int(strpos($tmp_select, '|' . $table . '|')) == FALSE) { $i++; } else { $formatted_table_name = isset($use_backquotes) ? backquote($table) : '\'' . $table . '\''; // If only datas, no need to displays table name if ($what != 'dataonly') { $dump_buffer .= '# --------------------------------------------------------' . $crlf . $crlf . '#' . $crlf . '# ' . $strTableStructure . ' ' . $formatted_table_name . $crlf . '#' . $crlf . $crlf . get_table_def($db, $table, $crlf) . ';' . $crlf; } // At least data if ($what == 'data' || $what == 'dataonly') { $dump_buffer .= $crlf . '#' . $crlf . '# ' . $strDumpingData . ' ' . $formatted_table_name . $crlf . '#' . $crlf . $crlf; $tmp_buffer = ''; if (!isset($limit_from) || !isset($limit_to)) { $limit_from = $limit_to = 0; } get_table_content($db, $table, $limit_from, $limit_to, 'my_handler'); $dump_buffer .= $tmp_buffer; } // end if $i++; } // end if-else
$strFieldList .= "{$cfgQuotes}{$strCurField}{$cfgQuotes}, "; } } $strFieldList = ereg_replace(", \$", "", $strFieldList); $new_table = "{$table}" . "_" . date("U"); // 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"; } } $drop_field = $field; $create_table = get_table_def($link, $table, $crlf); unset($sql_query); $exec_query = "CREATE TABLE {$cfgQuotes}{$new_table}{$cfgQuotes} AS SELECT {$strFieldList} FROM {$cfgQuotes}{$table}{$cfgQuotes}"; pg_exec($link, pre_query($exec_query)) or pg_die(pg_errormessage(), $exec_query, __FILE__, __LINE__); $sql_query .= $exec_query . ";\n"; $exec_query = "DROP TABLE {$cfgQuotes}{$table}{$cfgQuotes}"; pg_exec($link, pre_query($exec_query)) or pg_die(pg_errormessage(), $exec_query, __FILE__, __LINE__); $sql_query .= $exec_query . ";\n"; $exec_query = $create_table; pg_exec($link, pre_query($exec_query)) or pg_die(pg_errormessage(), $exec_query, __FILE__, __LINE__); $sql_query .= $exec_query; $exec_query = "INSERT INTO {$cfgQuotes}{$table}{$cfgQuotes} SELECT * FROM {$cfgQuotes}{$new_table}{$cfgQuotes}"; pg_exec($link, pre_query($exec_query)) or pg_die(pg_errormessage(), $exec_query, __FILE__, __LINE__); $sql_query .= $exec_query . ";\n"; $exec_query = "DROP TABLE {$cfgQuotes}{$new_table}{$cfgQuotes}"; pg_exec($link, pre_query($exec_query)) or pg_die(pg_errormessage(), $exec_query, __FILE__, __LINE__);
print "# 테이블 네임 : {$table}{$ctrn}"; print "# --------------------------------------------------------{$ctrn}{$ctrn}"; print get_table_def($MYSQL_DB, $table, $ctrn) . ";{$ctrn}"; print "{$ctrn}{$ctrn}"; print "#---------------------------------------------------------{$ctrn}"; print "# {$table} INSERT DATA{$ctrn}"; print "# --------------------------------------------------------{$ctrn}{$ctrn}"; get_table_content($MYSQL_DB, $table, "my_handler", urldecode(stripslashes($SQL))); $i++; } } else { print "#---------------------------------------------------------{$ctrn}"; print "# 호스트: localhost 선택한 디비 : {$MYSQL_DB}{$ctrn}"; print "# 테이블 네임 : {$table}{$ctrn}"; print "# --------------------------------------------------------{$ctrn}{$ctrn}"; print get_table_def($MYSQL_DB, $table, $ctrn) . ";{$ctrn}"; if ($dump_type == 'dump_all') { print "{$ctrn}{$ctrn}"; print "#---------------------------------------------------------{$ctrn}"; print "# {$table} INSERT DATA{$ctrn}"; print "# --------------------------------------------------------{$ctrn}{$ctrn}"; get_table_content($MYSQL_DB, $table, "my_handler", urldecode(stripslashes($SQL))); } } exit; } if ($action == 'table_excel') { header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename={$table}.xls"); header("Content-Description: PHP4 Generated Data"); ?>
print "# 테이블 네임 : " . $Xtbl . $ctrn; print "# --------------------------------------------------------" . $ctrn . $ctrn; print get_table_def($DB['name'], $Xtbl, $ctrn) . ";" . $ctrn; print $ctrn . $ctrn; print "#---------------------------------------------------------" . $ctrn; print "# " . $Xtbl . " INSERT DATA" . $ctrn; print "# --------------------------------------------------------" . $ctrn . $ctrn; get_table_content($DB['name'], $Xtbl, "my_handler", urldecode($SQL)); $i++; } } else { print "#---------------------------------------------------------" . $ctrn; print "# 호스트: " . $DB['host'] . " 선택한 디비 : " . $DB['name'] . $ctrn; print "# 테이블 네임 : " . $Xtbl . $ctrn; print "# --------------------------------------------------------" . $ctrn . $ctrn; print get_table_def($DB['name'], $Xtbl, $ctrn) . ";" . $ctrn; if ($dump_type == 'dump_all') { print "{$ctrn}{$ctrn}"; print "#---------------------------------------------------------" . $ctrn; print "# " . $Xtbl . " INSERT DATA" . $ctrn; print "# --------------------------------------------------------" . $ctrn . $ctrn; get_table_content($DB['name'], $Xtbl, "my_handler", urldecode($SQL)); } } exit; } if ($_a == 'table_excel') { header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=" . $Xtbl . ".xls"); header("Content-Description: PHP4 Generated Data"); get_excel_content($DB['name'], $Xtbl, urldecode($SQL));
if (!$num_tables) { echo $strNoTablesFound; } else { for ($i = 0; $i < $num_tables; $i++) { $table = pg_result($tables, $i, "tablename"); print "{$crlf}/* -------------------------------------------------------- {$crlf}"; print " {$strTableStructure} {$cfgQuotes}{$table}{$cfgQuotes} {$crlf}"; print "-------------------------------------------------------- */"; echo $crlf; if ($drop) { print "DROP TABLE {$cfgQuotes}{$table}{$cfgQuotes};{$crlf}"; } if (!$asfile) { echo htmlentities(get_table_def($link, $table, $crlf)); } else { echo get_table_def($link, $table, $crlf); } echo $crlf; if ($what == "data") { print "{$crlf}/* -------------------------------------------------------- {$crlf}"; print " {$strDumpingData} {$cfgQuotes}{$table}{$cfgQuotes} {$crlf}"; print "-------------------------------------------------------- */ {$crlf}"; get_table_content($link, $table, "my_handler"); } } } // tablename !~ 'pg_.*' $sql_get_views = "SELECT * FROM pg_views WHERE viewname !~ 'pg_.*'"; $views = @pg_exec($link, pre_query($sql_get_views)); if (!($num_views = @pg_numrows($views))) { print "{$crlf}/* {$strNo} {$strViews} {$strFound} */{$crlf}";
} else { echo "{$sql_insert};{$crlf}"; } } if ($what != "csv") { print "{$crlf}/* -------------------------------------------------------- {$crlf}"; print " {$cfgProgName} {$cfgVersion} DB Dump{$crlf}"; print " http://www.greatbridge.org/project/phppgadmin/{$crlf}"; print " {$strHost}: " . $cfgServer['host']; if (!empty($cfgServer['port'])) { print ":" . $cfgServer['port']; } print "{$crlf} {$strDatabase}: {$db}{$crlf}"; print " {$strTableStructure} {$cfgQuotes}{$table}{$cfgQuotes} {$crlf}"; print " " . date("Y-d-m H:m:i") . $crlf; print "-------------------------------------------------------- */ {$crlf} {$crlf}"; print get_table_def($link, $table, $crlf) . "{$crlf}"; if ($what == "data") { print "{$crlf}/* -------------------------------------------------------- {$crlf}"; print " {$strDumpingData} {$cfgQuotes}{$table}{$cfgQuotes} {$crlf}"; print "-------------------------------------------------------- */ {$crlf}"; get_table_content($link, $table, "my_handler"); } } else { // $what != "csv" get_table_csv($link, $table, $separator, "my_csvhandler"); } if (empty($asfile)) { print "</pre></div>\n"; include "footer.inc.php"; }
function dbSave_tofile($repertoire, $linebyline = 0, $savemysql_size = 256) { global $dbname, $name, $MSos, $crlf, $crlf2; @set_time_limit(600); $date_jour = date(adm_translate("dateforop")); $date_op = date("ymd"); $filename = $dbname . "-" . $date_op; $tables = sql_list_tables($dbname); $num_tables = sql_num_rows($tables); if ($num_tables == 0) { echo " " . adm_translate("Aucune table n'a été trouvée") . "\n"; } else { if (!isset($repertoire) or $repertoire == "") { $repertoire = "."; } if (!is_dir($repertoire)) { @umask("0000"); @mkdir($repertoire, 0777); $fp = fopen($repertoire . "/index.html", 'w'); fclose($fp); } $heure_jour = date("H:i"); $data0 = "# ========================================================{$crlf}" . "# {$crlf}" . "# Sauvegarde de la base de données : " . $dbname . " {$crlf}" . "# Effectuée le " . $date_jour . " : " . $heure_jour . " par " . $name . " {$crlf}" . "# {$crlf}" . "# ========================================================{$crlf}"; $data1 = ""; $ifile = 0; while ($row = sql_fetch_row($tables)) { $table = $row[0]; $data1 .= "{$crlf}" . "# --------------------------------------------------------{$crlf}" . "# {$crlf}" . "# Structure de la table '" . $table . "' {$crlf}" . "# {$crlf}{$crlf}"; $data1 .= get_table_def($table) . "{$crlf}{$crlf}" . "# {$crlf}" . "# Contenu de la table '" . $table . "' {$crlf}" . "# {$crlf}{$crlf}"; $result = sql_query("SELECT * FROM {$table}"); $count_line = sql_num_fields($result); while ($row = sql_fetch_row($result)) { $schema_insert = "INSERT INTO {$table} VALUES ("; for ($j = 0; $j < $count_line; $j++) { if (!isset($row[$j])) { $schema_insert .= " NULL"; } else { if ($row[$j] != "") { $schema_insert .= " '" . PrepareString($row[$j]) . "'"; } else { $schema_insert .= " ''"; } } if ($j < $count_line - 1) { $schema_insert .= ","; } } $schema_insert .= ");{$crlf}"; $data1 .= $schema_insert; if ($linebyline == 1) { if (strlen($data1) > $savemysql_size * 1024) { send_tofile($data0 . $data1, $repertoire, $filename . "-" . sprintf("%03d", $ifile), "sql", $MSos); $data1 = ""; $ifile++; } } } $data1 .= "{$crlf}{$crlf}" . "# --------------------------------------------------------{$crlf}"; if ($linebyline == 0) { if (strlen($data1) > $savemysql_size * 1024) { send_tofile($data0 . $data1, $repertoire, $filename . "-" . sprintf("%03d", $ifile), "sql", $MSos); $data1 = ""; $ifile++; } } } if (strlen($data1) > 0) { send_tofile($data0 . $data1, $repertoire, $filename . "-" . sprintf("%03d", $ifile), "sql", $MSos); $data1 = ""; $ifile++; } } }
$error = 1; } else { $dump_buffer .= "# DatabaseBackup {$crlf}"; $dump_buffer .= "# Backup made:{$crlf}"; $dump_buffer .= "# " . date("F j, Y, g:i a") . "{$crlf}"; $dump_buffer .= "# Database: {$dbname}{$crlf}"; $dump_buffer .= "# Backed up tables : {$dbname} {$crlf}"; $i = 0; while ($i < $num_tables) { $table = mysql_tablename($tables, $i); $dump_buffer .= "# --------------------------------------------------------{$crlf}"; $dump_buffer .= "{$crlf}#{$crlf}"; $dump_buffer .= "# Table structure for table '{$table}'{$crlf}"; $dump_buffer .= "#{$crlf}{$crlf}"; $db = $table; $dump_buffer .= get_table_def($table, $crlf, $dbname) . ";{$crlf}"; $dump_buffer .= "{$crlf}#{$crlf}"; $dump_buffer .= "# Dumping data for table '{$table}'{$crlf}"; $dump_buffer .= "#{$crlf}{$crlf}"; $tmp_buffer = ""; get_table_content($dbname, $table, 0, 0, 'my_handler', $dbname); $dump_buffer .= $tmp_buffer; $i++; $dump_buffer .= "{$crlf}"; } $f_name = "tmp/" . $dbname . ".sql"; //check if file exist $suffix = 1; while (file_exists($f_name)) { $f_name = $f_name = "tmp/" . $dbname . "-(" . $suffix . ").sql"; $suffix++;
$i = 0; $heure_jour = date("H:i"); print "# ========================================================{$crlf}"; print "#{$crlf}"; print "# {$strName} : {$dbname}{$crlf}"; print "# {$strDone} {$date_jour} {$strat} {$heure_jour} {$strby} {$name} !{$crlf}"; print "#{$crlf}"; print "# ========================================================{$crlf}"; print "{$crlf}"; while ($i < $num_tables) { $table = mysql_tablename($tables, $i); print $crlf; print "# --------------------------------------------------------{$crlf}"; print "#{$crlf}"; print "# {$strTableStructure} '{$table}'{$crlf}"; print "#{$crlf}"; print $crlf; echo get_table_def($dbname, $table, $crlf) . ";{$crlf}{$crlf}"; print "#{$crlf}"; print "# {$strDumpingData} '{$table}'{$crlf}"; print "#{$crlf}"; print $crlf; get_table_content($dbname, $table, "my_handler"); $i++; } } break; } } else { echo "Access Denied"; }
if ($adminaction == "deletetable") { if (is_array($deletebox)) { foreach ($deletebox as $a) { if ($form[deletetable]) { $db->query_str("DROP TABLE IF EXISTS {$tab[$a]}"); } $db->query_str("DELETE FROM {$tab['config']} WHERE name='tab_{$a}'"); } } $tab = gettabs(); $adminaction = "tables"; } ########################### if ($adminaction == "backuptable") { if ($form[type] == 1 || $form[type] == 3) { $dump .= get_table_def($tab[$tablename]) . "<br>"; } if ($form[type] == 2 || $form[type] == 3) { $dump .= get_table_content($tab[$tablename]); } $inc[action] = "<pre>{$dump}</pre>"; } ########################### if ($adminaction == "renametable") { if ($form[type] == 2) { $db->query_str("ALTER TABLE `{$tab[$tablename]}` RENAME `{$form['newname']}`"); } if ($form[type] == 1 || $form[type] == 2) { $db->query_str("DELETE FROM {$tab['config']} WHERE name='tab_{$tablename}'"); $db->query_str("INSERT INTO {$tab['config']} VALUES ('tab_{$tablename}','{$form['newname']}')"); }
* A target table name has been sent to this script -> do the work */ if (isset($new_name) && trim($new_name) != '') { $use_backquotes = 1; $asfile = 1; if (get_magic_quotes_gpc()) { if (!empty($target_db)) { $target_db = stripslashes($target_db); } else { $target_db = stripslashes($db); } $new_name = stripslashes($new_name); } $source = backquote($db) . '.' . backquote($table); $target = backquote($target_db) . '.' . backquote($new_name); $sql_structure = get_table_def($db, $table, "\n"); $sql_structure = eregi_replace('^CREATE TABLE (`?)' . $table . '(`?)', 'CREATE TABLE ' . $target, $sql_structure); $result = mysql_query($sql_structure) or mysql_die('', $sql_structure); if (isset($sql_query)) { $sql_query .= "\n" . $sql_structure . ';'; } else { $sql_query = $sql_structure . ';'; } // Copy the data if ($result != FALSE && $what == 'data') { // speedup copy table - staybyte - 22. Juni 2001 if (MYSQL_INT_VERSION >= 32300) { $sql_insert_data = 'INSERT INTO ' . $target . ' SELECT * FROM ' . backquote($table); $result = mysql_query($sql_insert_data) or mysql_die('', $sql_insert_data); } else { $sql_insert_data = '';
function dump_sql($src_table, $dest_table = '', $params = array(), &$stream = null) { /*if(empty($dest_table)) $dest_table=$src_table; if(empty($params['primary'])) $params['primary']='id'; $dump=array(); if(!empty($params['flag_create_table'])) { $insert= str_replace('`'.$src_table.'`','`'.$dest_table.'`',mysql_fetch_array(mysql_query("SHOW CREATE TABLE $src_table"))); if($params['flag_create_table']=='drop') $dump[]="DROP TABLE IF EXISTS $dest_table;"; $dump[]=$insert[1].";"; } $req_table = mysql_query("SELECT * FROM $src_table"); $nbr_champs = mysql_num_fields($req_table); while ($ligne = mysql_fetch_array($req_table)) { $tab_id[]=$ligne[$params['primary']]; //var_dump($ligne); $insertion= "INSERT INTO $dest_table VALUES ("; for ($i=0; $i<$nbr_champs; $i++) { $insertion.= "'" . mysql_real_escape_string($ligne[$i]) . "', "; } $insertion= substr($insertion, 0, -2); $insertion.= ");"; $dump[]=$insertion; } return $dump;*/ $crlf = "\n"; $escape = '`'; if (empty($dest_table)) { $dest_table = $src_table; } $dump = ''; $strTableStructure = "Table structure for table"; $strDumpingData = "Dumping data for table"; $dump .= "# ---- Date de la sauvegarde : " . DH_NOW . " ----------------{$crlf}"; $dump .= '# ' . $strTableStructure . ' ' . $escape . $src_table . $escape . $crlf; $dump .= $crlf; $dump .= get_table_def($src_table, $dest_table, $crlf, $escape) . ";{$crlf}"; $dump .= "# {$strDumpingData} '{$src_table}'{$crlf}"; if (!empty($stream)) { fputs($stream, $dump); get_table_content($src_table, $dest_table, $crlf, $escape, $stream); } else { $dump .= get_table_content($src_table, $dest_table, $crlf, $escape); } return $dump; }
<?php /* $Id: tbl_copy.php,v 1.3 2001/04/19 02:55:27 kkemp102294 Exp $ */ $priv = trim(ereg_replace("[\\{\"]", "", $row[relacl])); include "header.inc.php"; function my_handler($sql_insert) { global $table, $link, $new_name; $sql_insert = ereg_replace($table, $new_name, $sql_insert); $result = pg_exec($link, pre_query($sql_insert)) or pg_die(pg_errormessage($link), $sql_insert, __FILE__, __LINE__); $sql_query = $sql_insert; } $sql_structure = get_table_def($link, $table, "\n"); $sql_structure = ereg_replace($table, $new_name, $sql_structure); $result = @pg_exec($link, pre_query($sql_structure)) or pg_die(pg_errormessage($link), $sql_structure, __FILE__, __LINE__); $sql_query .= "\n{$sql_structure}"; if ($what == "data") { get_table_content($link, $table, "my_handler"); } eval("\$message = \"{$strCopyTableOK}\";"); include "db_details.php";