gpt4 book ai didi

php - 如果已发送表中不存在,则插入电子邮件

转载 作者:行者123 更新时间:2023-11-29 05:42:25 25 4
gpt4 key购买 nike

我有两个 mysql 表 sentqueue。我将成员插入到 queue 表中。但是我不想再次插入同一个成员——如果它们在 sent 表中。他们已经收到了邀请。

如何检查插入到 queue 中的成员是否不存在于 sent 中?

        if (insertEmail($email)) {
echo "<span class='success'>Successfully added " . $email . " to the queue</span><br/>";
} else {
echo "<span class='fail'>Error we already sent " . $email . " an invitation email.</span><br/>";
}

function insertEmail($email)
{
mysql_query("INSERT INTO queue (email) SELECT `$email` FROM dual WHERE `$email` NOT IN (SELECT `email` FROM `sent`)");
}

Quassnoi帮助我获得了查询,但我认为我做错了什么。当我尝试将电子邮件插入队列时,我总是得到 Unknown column '[removed]@gmail.com' in 'field list'

最佳答案

也许您没有能力改变您的表格,但如果您这样做,您是否考虑过在队列表中创建一个状态列并完全删除已发送的表格?

最简单的版本是:

表“队列”:

email              status

me@email.com queued
someone@email.com queued
another@email.com sent

然后每当你的队列处理器运行时,insertEmail 变成 updateQueue($email) 并且你的查询是:

mysql_query('Update queue Set `status' = 'sent' Where email = '$email');

检索尚未发送电子邮件的任何人:

mysql_query('Select email From queue Where `status' = 'queued');

关于php - 如果已发送表中不存在,则插入电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5723190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com