Ben iki ayrı sunucular üzerinde iki ayrı veri tabanlarından veri (kullanıcı adları ve e-posta adresleri) almak ve bir kullanıcı adı sadece bir tarafında var ve diğer olup olmadığını denetlemek ve bir tabloda sonucu görüntülemek gerekir. Benim araştırma onun mySQL içinde çapraz sunucu sorgularını yapmak mümkün, bu yüzden PHP hepsini yapmaya çalışıyorum ama sonuç ve benim kodu okunamaz hale geliyor hayır ile sıkışmış alıyorum değil. Asıl sorun çıktı bir kullanıcı adı mümkün ilişkili e-posta adresine ihtiyacınız, ama sadece ilk veritabanı kullanıcı adı ve e-posta adreslerinin listesini olmasıdır. Benim algoritmalar tamamen verimsiz eminim ve ben bazı basit çözümler görmek isterdim.
$handle1 = mysql_connect($db_host1,$db_username1,$db_password1);
mysql_select_db($db_name, $handle1);
$query1 = "SELECT username, email, FROM tblservices";
$result1 = mysql_query($query1);
while($row = mysql_fetch_array($result1){
$arr1[]=array(username=>$row['username'],email=>$row['email']);}
$handle2 = mysql_connect($db_host2,$db_username2,$db_password2);
mysql_select_db($db_name, $handle2);
$query2 = "SELECT username from tblradius";
$result2 = mysql_query($query2, $handle2);
while($row = mysql_fetch_array($result2)){
$arr2[]=$row['username'];
}
echo "<p>List of users in DB1 and not DB2</p>";
$x=0;
foreach($arr1 as $row1) {
$user1=$row1['username'];
$email=$row1['email'];
foreach($arr2 as $user2) {
if ($user1==$user2) {
$x=1;
}
}
if ($x==0) {
echo "<p>$user1 - $email is not in DB2</p>";
}
$x=0;
}
}
echo "<p>List of users in DB2 and not DB1</p>";
$x=0;
foreach($arr2 as $user1) {
foreach($arr1 as $row2) {
$user2=$row2['username'];
if ($user1==$user2) {
$x=1;
}
}
if ($x==0) {
foreach($arr2 as $row3) {
$user3 = $row3['username'];
$email = $row3['email'];
if ($user1==$user3) {
echo "<p>$user3 $email - is in DB2 and not DB1</p>";
}
}
}
$x=0;
}
}