Guest User

Untitled

a guest
Jul 7th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.34 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.     $count  = 0;
  56.     while($count < 18)
  57.     {  
  58.         $fp = fopen($dump_dir."/"."player_guid-".$guid.".sql", "a");
  59.         if ($fp)
  60.         {
  61.             fwrite ($fp, $query);
  62.             if ($count > 12 && $count < 16)
  63.                 $rows = $dump_tables[$count].$guid.");";
  64.             else $rows = $dump_tables[$count].$guid.";";
  65.             $r = mysql_query($rows) or die("Ошибка при выполнении запроса: ".mysql_error());
  66.             while($row = mysql_fetch_row($r))
  67.             {
  68.                 $query = "";
  69.                 foreach ($row as $field)
  70.                 {
  71.                     if (is_null($field))
  72.                         $field = "NULL";
  73.                     else
  74.                         $field = "'".mysql_escape_string($field)."'";
  75.                     if ( $query == "")
  76.                         $query = $field;
  77.                     else
  78.                         $query = $query.', '.$field;
  79.                 }
  80.                 $query = "INSERT INTO `".$table_name[$count]."` VALUES (".$query.");\n";
  81.                 fwrite ($fp, $query);
  82.             }
  83.         }
  84.         $count++;
  85.     }
  86.    
  87.     fclose ($fp);
  88.     unlink($dump_dir."/player_guid-".$guid."sql");
  89. }
  90.  
  91. dump_sql('.', "6");
  92. ?>
Add Comment
Please, Sign In to add comment