Guest User

Untitled

a guest
Jul 8th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.38 KB | None | 0 0
  1. <?php
  2. $host = "localhost";
  3. $user = "root";
  4. $password = "root";
  5. $db_name = "temp_char";
  6.  
  7. $link = mysql_connect($host, $user, $password) or die("Сервер базы данных не доступен");
  8. $db = mysql_select_db($db_name) or die("База данных не доступна");
  9.  
  10. function dump_sql($dump_dir, $guid, $realm)
  11. {
  12.     $table_name =
  13.     array(
  14.     0 => "characters",
  15.     1 => "character_queststatus",
  16.     2 => "character_reputation",
  17.     3 => "character_spell",
  18.     4 => "character_spell_cooldown",
  19.     5 => "character_action",
  20.     6 => "character_aura",
  21.     7 => "character_homebind",
  22.     8 => "character_skills",
  23.     9 => "character_inventory",
  24.     10 => "item_instance",
  25.     11 => "character_pet",
  26.     12 => "character_gifts",
  27.     13 => "pet_spell",
  28.     14 => "pet_spell_cooldown",
  29.     15 => "pet_aura",
  30.     16 => "mail",
  31.     17 => "mail_items",
  32.     18 => "character_glyphs");
  33.    
  34.     $dump_tables =
  35.     array(
  36.     0 => "SELECT * FROM characters WHERE guid = ",
  37.     1 => "SELECT * FROM character_queststatus WHERE guid = ",
  38.     2 => "SELECT * FROM character_reputation WHERE guid = ",
  39.     3 => "SELECT * FROM character_spell WHERE guid = ",
  40.     4 => "SELECT * FROM character_spell_cooldown WHERE guid = ",
  41.     5 => "SELECT * FROM character_action WHERE guid = ",
  42.     6 => "SELECT * FROM character_aura WHERE guid = ",
  43.     7 => "SELECT * FROM character_homebind WHERE guid = ",
  44.     8 => "SELECT * FROM character_skills WHERE guid = ",
  45.     9 => "SELECT * FROM character_inventory WHERE guid = ",
  46.     10 => "SELECT * FROM item_instance WHERE owner_guid  = ",
  47.     11 => "SELECT * FROM character_pet WHERE owner = ",
  48.     12 => "SELECT * FROM character_gifts WHERE guid = ",    
  49.     13 => "SELECT * FROM pet_spell WHERE guid IN (SELECT id FROM character_pet WHERE owner = ",
  50.     14 => "SELECT * FROM pet_spell_cooldown WHERE guid IN (SELECT id FROM character_pet WHERE owner = ",
  51.     15 => "SELECT * FROM pet_aura WHERE guid IN (SELECT id FROM character_pet WHERE owner = ",
  52.     16 => "SELECT * FROM mail WHERE receiver = ",
  53.     17 => "SELECT * FROM mail_items WHERE receiver = ",
  54.     18 => "SELECT * FROM character_glyphs WHERE guid = ");
  55.    
  56.     $count = 17;
  57.     if ($realm == "1")    // 0 - TBC;    
  58.         $count = 18;     // 1 - WotLK
  59.    
  60.     $full_dump = "";
  61.     for ($i = 0; $i <= $count; $i++)
  62.     {          
  63.         if ($i > 12 && $i < 16)
  64.             $rows = $dump_tables[$i].$guid.");";
  65.         else $rows = $dump_tables[$i].$guid.";";
  66.         $r = mysql_query($rows) or die("Ошибка при выполнении запроса: ".mysql_error());
  67.         while($row = mysql_fetch_row($r))
  68.         {
  69.             $query = "";
  70.             foreach ($row as $field)
  71.             {
  72.                 if (is_null($field))
  73.                     $field = "NULL";
  74.                 else
  75.                     $field = "'".mysql_escape_string($field)."'";
  76.                 if ($query == "")
  77.                     $query = $field;
  78.                 else
  79.                     $query = $query.', '.$field;
  80.             }
  81.             $full_dump = $full_dump."INSERT INTO `".$table_name[$i]."` VALUES (".$query.");\n";            
  82.         }        
  83.     }
  84.    
  85.     $fp = fopen($dump_dir."/"."player_guid-".$guid.".sql", "a");
  86.     if ($fp)
  87.     {
  88.         fwrite ($fp, $full_dump);
  89.         fclose ($fp);
  90.     }
  91. }
  92.  
  93. dump_sql('.', "6", "0");    // 0 - TBC 1 - Wotlk
  94. ?>
Add Comment
Please, Sign In to add comment