Guest User

Untitled

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