php - 发送生日电子邮件不显示电子邮件

标签 php mysql email pdo

当我尝试发送生日邮件时,我的表格中的电子邮件出现问题。

这是打印屏幕,如果您看到右侧的表格,有 2 个用户有生日,但在 div 错误的下面的输入中为空...并说“今天没有生日”:

enter image description here

<?php 
$sql = $conn->prepare("SELECT email FROM USERS WHERE f_nac >= CURDATE() AND f_nac < CURDATE() + INTERVAL 1 DAY ORDER BY f_nac ASC");
$sql->execute();
while($row = $sql->fetch(PDO::FETCH_ASSOC)) {
    $email = ($row['email'].", "); 
}
$largo=strlen($email);
if ($largo>2)
    $email=substr($email,0,$largo-2);
} else {
      echo '<div class="alert alert-danger">No hay cumplea&ntilde;eros!</div>';
  };
?>
<input type="text" id="email" name="email" value="<?php echo $email; ?>" />

如何显示电子邮件以向他们发送邮件?

这两个用户都有电子邮件,表中的行是“f_nac”,类型为“日期”

最佳答案

CUR_DATE() 是 2014 年,生日是 1975 年和 1978 年。比较时必须忽略年份。

SELECT email 
FROM USERS 
WHERE MONTH(f_nac) = MONTH(NOW()) AND DAY(f_nac) = DAY(NOW())

在您的 while 循环中,您将覆盖 $email,而不是附加到它。应该是:

$email = '';
while ($row = $sql->fetch(PDO::FETCH_ASSOC)) {
    $email .= ($row['email'].", "); 
}

关于php - 发送生日电子邮件不显示电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24072314/

相关文章:

PHP date() 打印 24 :00 instead of 00:00

javascript - 如何在此模态 div 中显示此 .php 文件?

mysql - 将 mysql 查询拆分为两个以避免 join -> sum ids 并使用 where in

email - TFS2015 构建失败的电子邮件通知缺少错误

email - Applescript 将 Outlook 电子邮件移动到子文件夹

php - Postgres - 如何从表中获取转义数据

php - 生成WAV并添加第二个(立体声) channel

mysql - 如何在一个查询中获取值类别并计算每个类别的产品数量?

php - MySQL Datediff 跳过周六和周日

django-allauth 在有/没有验证的情况下更改用户电子邮件