2011-06-20 5 views
0

この問題に関して多くの例を追ってきましたが、これを動作させることはできません。 データベースを個別にクエリすることはできますが、同じクエリ内の2つをクエリすることはできません。2つのサーバー上の2つのデータベースのクエリが接続されていません

私はエイリアシングを試みました。クエリの中のサーバを参照していました。

だから、この私のコードです

接続文字列:

/// LOCAL DATABASE 
$databaseprefix = "w-"; 
$mysqlHost = 'localhost'; 
$mysqlUser = 'web123-USER1'; 
$mysqlPass = 'SOMEPASSWORD'; 
$mysqlDB = $databaseprefix . 'DATABASE1'; 
$conn = mysql_connect($mysqlHost,$mysqlUser,$mysqlPass,true) or die('Could not connect to SQL Server on '.$mysqlHost.' '. mysql_error()); 

///select remote database to work with 
$localDB = mysql_select_db($mysqlDB, $conn) or die("x1 Couldn't open database $mysqlDB"); 

///////////// GET THE DATABASE WE WANT TO EDIT 
$remoteHost = $_SESSION['localfolder']; 
$remoteUser = $_SESSION['databaseuser']; 
$remotePass = $_SESSION['databasepassword']; 
$remoteDB = $_SESSION['database']; 
$remoteconn = mysql_connect($remoteHost,$remoteUser,$remotePass,true) or die('Could not connect to SQL Server on '.$remoteHost.' '. mysql_error()); 

$clientDB = mysql_select_db($remoteDB, $remoteconn) or die("x2 Couldn't open database $remoteDB"); 

OK]を、私は、クエリからの出力は、この

select `remoteaddress.co.uk`.`remote-DB`.`pages`.`page_title`, 
`localhost`.`w-DATABASE1`.`c_users`.`name` 
from `remoteaddress.co.uk`.`remote-DB`.`pages` 
left join `localhost`.`w-DATABASE1`.`c_users` on 
`remoteaddress.co.uk`.`remote-DB`.`pages`.`created_by` = `localhost`.`w-DATABASE1`.`c_users`.`user_id` 
のようなものである。この

$query_string = "select 
`$remoteHost`.`$remoteDB`.`pages`.`page_title`, 
`$mysqlHost`.`$mysqlDB`.`c_users`.`name` 
from `$remoteHost`.`$remoteDB`.`pages` 
left join `$mysqlHost`.`$mysqlDB`.`c_users` 
on `$remoteHost`.`$remoteDB`.`pages`.`created_by` = `$mysqlHost`.`$mysqlDB`.`c_users`.`user_id`"; 

echo $query_string; 
//// Query the DB's 
$query = mysql_query($query_string); 

echo mysql_num_rows($query); 

while($row = mysql_fetch_assoc($query)) { 
    echo $row['name'] . ' | ' . $row['page_title']; 
} 

を持っています

結合フィールドは、結合のINTデータ型と同じ照合です。なぜこれが失敗するのか分かりません。どんな助けもありがとう。

答えて

1

あなたのローカル接続は、直接リモートホストに接続できないためです...

あなたが代わりに

$query = mysql_query($query_string, $conn); 
$query = mysql_query($query_string, $remoteconn); 
+0

2つのクエリ、各サーバーのいずれかを使用することができます実際には、リモートホストとローカルの両方持っています同じIPアドレスですが、IPのみのドメイン経由で接続することはできません。 –

関連する問題