Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //exit(); //Comment this line to have this scripta actually DO anything
- //Obviously you'll have to secure access to this script (USING IIS or Apache HTTP authentication)
- $host = $_SERVER['argv'][1];
- $user = $_SERVER['argv'][2];
- $pass = $_SERVER['argv'][3];
- $dbname = $_SERVER['argv'][4];
- connect($host,$user,$pass,$dbname);
- echo "Connected\n";
- $sql = array();
- $sql['list tables'] = '
- SELECT TABLE_SCHEMA,TABLE_NAME, OBJECTPROPERTY(object_id(TABLE_NAME), N\'IsUserTable\') AS type
- FROM INFORMATION_SCHEMA.TABLES';
- echo "GETTINGOBJECT\n";
- $tables = getObjects($sql['list tables']);
- var_dump($tables);
- echo "GETTINGOBJECT DONE\n";
- header('content-type: text/plain');
- echo "SIMPLEXML DONE\n";
- if ($_SERVER['argv']['5'] == 'LISTALL') {
- foreach ($tables as $table) {
- echo $table->TABLE_NAME."\n";
- }
- exit;
- }
- foreach($tables as $table) {
- if ($_SERVER['argv'][5] && $_SERVER['argv'][5] != $table->TABLE_NAME)
- continue;
- $document = new SimpleXMLElement('<dump><tables></tables></dump>');
- echo "GETARRAY\n";
- $dump = getArray('SELECT * FROM '.$table->TABLE_SCHEMA.'.'.$table->TABLE_NAME.' '.$_SERVER['argv'][6]);
- echo "GETARRAY DONE\n";
- $newTable = $document->tables[0]->addChild('table');
- $newTable->addAttribute('name',$table->TABLE_NAME);
- foreach($dump as $dumpRow) {
- $newRow = $newTable->addChild('row');
- foreach($dumpRow as $field=>$value) {
- $safe_value = preg_replace('/&(?!\w+;)/', '&', $value);
- $newRow->addChild($field,$safe_value);
- }
- }
- echo "$filename\n";
- $filename = 'bdd/'.$dbname.'-'.$table->TABLE_NAME;
- file_put_contents($filename, $document->asXML());
- echo "done\n";
- }
- echo "ASXML DONE\n";
- function connect($host,$user,$pass,$dbname)
- {
- mssql_connect($host,$user,$pass);
- mssql_select_db($dbname);
- var_dump(mssql_get_last_message());
- }
- /**
- * Get the database results as a object array
- * @param $query string SQL Query
- */
- function getObjects($query)
- {
- $res = mssql_query($query);
- if(!$res || mssql_num_rows($res) == 0) { //geen resultaten
- return array();
- }
- $rows = array();
- while($row = mssql_fetch_object($res)) {
- $rows[] = $row;
- }
- return $rows;
- }
- /**
- * Get the database results as an array
- * @param $query string SQL Query
- */
- function getArray($query)
- {
- $res = mssql_query($query);
- if(!$res || mssql_num_rows($res) == 0) { //geen resultaten
- return array();
- }
- $rows = array();
- while($row = mssql_fetch_assoc($res)) {
- $rows[] = $row;
- }
- return $rows;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement