【发布时间】:2010-08-14 15:35:57
【问题描述】:
我有两个数据库,每个数据库都包含用户的电子邮件地址。我编写了一个脚本,其唯一目的是查看两个数据库中存在哪些电子邮件地址。
话虽如此,请看下面的循环。每个循环包含数百条记录(我已打印出每个记录的结果作为验证)。但是,当条件找到匹配项时,条件仅与第一个匹配项中的电子邮件地址匹配。它仍然“卡在”与初始查询匹配的一条记录上。换句话说,如果它在“test@test.com”上匹配,那么所有未来的比较都是针对“test@test.com”。这几乎就像我需要一个“next()”方法来从第一个数组中移动东西。
FWIW,我是一个完整的 PHP 菜鸟,所以我确定我在这里缺少一些明显的东西。
while($member = mysql_fetch_array($members)){
while($emailAddress = mysql_fetch_array($emailAddresses)){
if ($member['email'] == $emailAddress['email']){
echo $member['email'] . "<br/>";
}
}
}
【问题讨论】:
-
这两个数据库是否存在于同一台服务器上?您可以使用完整的限定表名创建一个跨越两者的查询。
-
您实际上有两个数据库,还是您在同一个数据库中只有两个表?您可以编辑以包含您的sql吗?正如 Willi 所说,这可能比做这些嵌套循环要容易得多。
-
两个独立的数据库,两个独立的服务器。