我正在使用带有 MySQL 的带 PDO 的 PHP,我遇到的问题是我执行 SQL 语句并用 HTML 写出结果。然后另一个 SQL 语句执行,问题是正在返回不应该返回的行。我知道这是真的,因为当我在 PHPMyAdmin 中执行第二个查询时,我得到了我期望的结果。环境如下(PHP 5.2.17、MySQL 5.30、Apache 2.2.25)。只是为了将活动扳手投入到它应该在我的电脑上工作的情况中。如果有帮助,这里是 SQL stmt:
$unusedContactsQuery = $dbc->prepare("select idContact, contactName
from contactinfo
where iduser = :iduser
and contactAuthorized = 1
and idcontact not in (select a.idcontact from contactinfo a
inner join eventcontacts c on a.idContact = c.idContact
inner join eventschedule b on c.idEventContact = b.idEventContact
where b.idEventContact = :idEventContact
and a.iduser = :iduser
and contactAuthorized = 1)");
*联系人列表:Bella Lugosi 木本啄木鸟 Bucky Winters Bella Lugosi 木本啄木鸟
Bella Lugosi 和 woody woodpecker 是该列表顶部的前两个名字的重复。第一个查询返回前两个名称(我对该查询执行了 rowCount() 并显示 2,我在第二个查询中执行了 rowCount() 并显示了 3,因此后三个名称从第二个中拉回查询)那么有人知道为什么会这样吗?(当同一查询在 PHPMyAdmin 中正常工作时,第二个查询拉回不应检索的行)