2012-03-06 6 views
0

다른 서버의 두 데이터베이스를 연결할 수 있기를 기대합니다. 또한, 나는 데이터베이스에서 단일 결과로 데이터를 가져 오는 쿼리를 실행하고 싶습니다. mysql을 사용하여 PHP 스크립트에서 이것을 수행하고있다. 여기에 어떻게 기대하고있다 [성공하지 않고]여러 데이터베이스, MySQL 및 쿼리의 서버를 서로 연결하는 방법은 무엇입니까?

$dbh1 = mysql_connect('server1', 'uname', 'pwd')or die("Unable to connect to MySQL1"); 
$dbh2 = mysql_connect('server2', 'uname', 'pwd') or die("Unable to connect to MySQL2"); 

mysql_select_db('db1', $dbh1); 
mysql_select_db('db2', $dbh2); //both will have same table name though 

$qry = mysql_query("select * from db1.table1 where db1.table1.id='100' and db1.table1.id=db2.table1.id",$dbh1) or die(mysql_error()); 

$row= mysql_fetch_array($qry); 

echo $row[2]; 

어떤 결과 또는 오류가 발생하지 않습니다. 어떤 도움을 주셔서 감사합니다. PHP는 문서에 따르면

+0

다른 서버에있는 데이터베이스 간의 조인 - http://stackoverflow.com/questions/5832787/mysql-joins-between-databases-on-different-servers-using-python/5832973#5832973 – Devart

+0

@Col. Shrapnel - 내 질문을 귀하가 지정한 질문과 많이 다르게 다시 방문하십시오. 내가 그 페이지를 연구하고 내 브라우저의 다음 탭에서 열려 있습니다! .. 귀하의 지도력을 주셔서 감사합니다 :) – sree

+0

@Devart 문제는 ​​동시에 두 개의 서버를 연결할 수 없습니다. 그래서 연결되면 우리는 Join을 사용할 수 있습니다 !! :) – sree

답변

2

". 링크 식별자가 지정되지 않은 경우()로 mysql_connect 열 마지막 링크 가정"http://il2.php.net/manual/en/function.mysql-query.php

가 을

그래서이 경우에는 $ dbh2의 데이터 만 검색합니다.

하나의 쿼리로 수행하려는 작업을 수행 할 수 없다고 생각합니다. 결과를 얻은 후에 병합해야합니다.

+0

네, 알고 싶습니다. diff 솔루션이 필요합니다. :) – sree

2

그런 식으로 작동하지 않습니다. 단일 SQL 쿼리에서 여러 데이터베이스를 사용할 수 있지만 항상 하나의 연결 핸들에서 작동합니다. 두 개의 다른 서버에 연결해야하는 경우 PHP에서 두 개의 쿼리와 병합 데이터를 사용해야합니다.

+1

누구나 더 나은 아이디어가 있는지 확인해 보겠습니다. :) – sree

관련 문제