所有退回的电子邮件都会发送到我数据库中的一个表中。我正在尝试将它们与另一个表中的字段进行比较,该表中填充了我的活动电子邮件。使用以下函数,在使用“IN”时不返回任何内容,在使用“NOT IN”时返回所有内容,但我知道两个表中有匹配的电子邮件。我是不是走错路了?
<?php
function CompareEmails() {
$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") ";
echo $mysqli->connect_error;
$mysqli->close();
}
$bademails = array();
$values = $mysqli->query("SELECT bad_emails.emails FROM bad_emails ");
while ($row = $values->fetch_assoc()) {
$bademails[] = $row['emails'];
}
$query = "SELECT email_database.customer_id, email_database.email
FROM email_database
WHERE email_database.email IN('" . implode("' , '", $bademails) . "')
ORDER BY email_database.customer_id DESC";
$values2 = $mysqli->query($query);
while ($row2 = $values2->fetch_assoc()) {
echo $row2['customer_id'] . " " . $row2['email'] . "</br>";
}
}
?>