Php 循环中循环的条件不匹配
我有两个数据库,每个数据库都包含用户的电子邮件地址。我编写了一个脚本,其唯一目的是查看两个数据库中存在哪些电子邮件地址 说到这里,请看下面的循环。每个循环包含数百条记录(我已经打印出每个循环的结果作为验证)。但是,当条件找到匹配项时,条件仅与第一个匹配项中的电子邮件地址匹配。它在与初始查询匹配的一条记录上保持“固定”。换句话说,如果它匹配“on”test@test.com,则所有未来的比较都是针对test@test.com". 这几乎就像我需要一个“next()”方法来从第一个数组开始移动 FWIW,我是一个完全的PHP noob,所以我确信我在这里遗漏了一些明显的东西Php 循环中循环的条件不匹配,php,mysql,Php,Mysql,我有两个数据库,每个数据库都包含用户的电子邮件地址。我编写了一个脚本,其唯一目的是查看两个数据库中存在哪些电子邮件地址 说到这里,请看下面的循环。每个循环包含数百条记录(我已经打印出每个循环的结果作为验证)。但是,当条件找到匹配项时,条件仅与第一个匹配项中的电子邮件地址匹配。它在与初始查询匹配的一条记录上保持“固定”。换句话说,如果它匹配“on”test@test.com,则所有未来的比较都是针对test@test.com". 这几乎就像我需要一个“next()”方法来从第一个数组开始移动 F
while($member = mysql_fetch_array($members)){
while($emailAddress = mysql_fetch_array($emailAddresses)){
if ($member['email'] == $emailAddress['email']){
echo $member['email'] . "<br/>";
}
}
}
while($member=mysql\u fetch\u数组($members)){
而($emailAddress=mysql\u fetch\u数组($emailAddresses)){
如果($member['email']=$emailAddress['email'])){
echo$member['email']。“
”;
}
}
}
我认为问题在于在mysql结果集中循环,有一个内部数据指针,在每个循环中不断向上滑动1步
尝试先将结果放入数组中
$adresses = array();
while($emailAddress = mysql_fetch_array($emailAddresses)){
$adresses[] = $emailAddress['email'] ;
}
然后在数组中检查结果
while($member = mysql_fetch_array($members)){
if(in_array($member['email'], $adresses)){
echo $member['email'];
}
}
或者,您可以在每次循环后重置datapointer,但不确定是否可以在mysql结果上执行此操作,但在数组中循环时,此操作有效。这两个数据库是否存在于同一台服务器中?您可以使用完全限定表名创建一个跨越这两个表的查询。您实际上有两个数据库,还是在同一个数据库中只有两个表?您可以编辑以包含sql吗?正如威利所说,这可能比做这些嵌套循环容易得多。两个独立的数据库,两个独立的服务器。