【发布时间】:2021-08-03 21:38:55
【问题描述】:
我有一系列电子邮件,我想通过验证我的数据库来检查所有这些电子邮件是否有效。我想将无效的电子邮件(如果有)添加到一个空数组中。我对 MySQL 不太熟悉,所以我需要一些帮助。这是我目前在我的 PHP 文件中的内容:
<?php
$conn = mysqli_connect($servername, $username, $password, $db);
$conn->select_db($db);
if($conn->connect_error) {
die("Connection failed " . $conn->connect_error);
}
echo "Connected successfully\n";
$tags = preg_split("/\,/", $_POST['tags']);
$invalidEmails = array();
$count = 0;
$result = $conn->query("SELECT mail FROM dej_colleagues");
for ($i = 0; $i < sizeof($tags); $i++) {
$trim_brackets = trim($tags[$i], '[]');
$trim_quotes = trim($trim_brackets, '"');
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
if ($trim_quotes == $row["mail"]) {
$count += 1;
}
else {
array_push($invalidEmails, $tags[i]);
}
}
}
if (sizeof($tags) == $count) {
echo "good";
}
?>
我的数据库连接成功,但即使我的标签数组中的电子邮件存在于数据库中,它也没有检测到它。另外,数据库列有 100k 个条目,如果您知道更有效的方法,请告诉我。
【问题讨论】: