Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с двумя базами в одно запросе
Форумы портала PHP.SU » » Работа с СУБД » Работа с двумя базами в одно запросе

Страниц (1): [1]
 

1. vectorserver - 17 Февраля, 2012 - 22:21:17 - перейти к сообщению
Есть 2 базы на разных хостах и есть один смешанный запрос.
Вопрос: как работать с двумя базами в одном запросе?

Подключение к базам:
PHP:
скопировать код в буфер обмена
  1. //Подключение к Сорс Банс
  2. function sbBase (){
  3. $host1 = '10.0.0.11'; //Адрес хоста
  4. $login1 = 'test'; //Логин
  5. $pass1 = '*********'; //Пароль
  6. $dbName1 = 'stat'; //Имя базы
  7. $connectSB = mysql_connect ($host1,$login1,$pass1);
  8. mysql_select_db($dbName1, $connectSB) or die ('Не могу подключится к базе Сорс Банс'); ;
  9. return $connectSB;
  10. }
  11. //Подключение к HLstatsX
  12. function hlstatsBase (){
  13. $host = '127.0.0.1'; //Адрес хоста
  14. $login = 'root'; //Логин
  15. $pass = '********'; //Пароль
  16. $dbName = 'stxl'; //Имя базы
  17. $connectHL = mysql_connect ($host,$login,$pass);
  18. mysql_select_db($dbName, $connectHL) or die ('Не могу подключится к базе HLstatsX'); ;
  19. return $connectHL;
  20. }
  21.  
  22.  
  23. $sb = sbBase();
  24. $hl = hlstatsBase();
  25. $db = $sb.$hl;



Запрос:
PHP:
скопировать код в буфер обмена
  1. $zapros = mysql_query("SELECT DISTINCT
  2. sb_admins.aid as adminID,
  3. hlstats_Players.playerId,
  4. sb_admins.`user`,
  5. hlstats_Players.lastName,
  6. sb_admins.authid AS STEAM_ID,
  7. hlstats_PlayerUniqueIds.uniqueId AS statsID,
  8. SUBSTR(sb_admins.authid,'9') AS bansID,
  9. sb_admins.email,
  10. FROM_UNIXTIME(hlstats_Players.last_event, '%d-%m-%y %h:%i') AS lastvisits,
  11. hlstats_Players.lastAddress,
  12. CAST(LEFT(hlstats_PlayerUniqueIds.uniqueId,1) AS unsigned) + CAST('76561197960265728' AS unsigned) + CAST(MID(hlstats_PlayerUniqueIds.uniqueId, 3,10)*2 AS unsigned) AS communityId
  13. FROM
  14. hlstats_Players
  15. INNER JOIN hlstats_PlayerUniqueIds ON hlstats_PlayerUniqueIds.playerId = hlstats_Players.playerId ,
  16. sb_admins
  17. HAVING
  18. statsID LIKE bansID",$db);
  19. while ($row = mysql_fetch_assoc($zapros))
  20. {
  21.         print_r($row);
  22. }
  23.  

 

Powered by ExBB FM 1.0 RC1