PHP如何将数据库中的日期与当前日期进行比较

PHP如何将数据库中的日期与当前日期进行比较,php,mysql,Php,Mysql,我分别存储了日期(10)、月份(4)和年份(1993)。如何将其与当前日期进行比较?如果日期匹配,则发送电子邮件至myemail@gmail.com使用cron 代码如下: <?php include"connect_mysql.php"; $reminder_dates = mysql_query("SELECT*FROM registration_form"); while($row = mysql_fetch_array($reminder_dates)){ $main_dob_da

我分别存储了日期(10)、月份(4)和年份(1993)。如何将其与当前日期进行比较?如果日期匹配,则发送电子邮件至myemail@gmail.com使用cron

代码如下:

<?php
include"connect_mysql.php";
$reminder_dates = mysql_query("SELECT*FROM registration_form");
while($row = mysql_fetch_array($reminder_dates)){
$main_dob_day = $row['main_dob_day'];
$main_dob_month = $row['main_dob_month'];   
$main_dob_year = $row['main_dob_year'];
}
?> 

可能是这样的:

$old_date = "2006-01-16"; // Create this from the 3 strings you have in the db
$old_date = strtotime($old_date); 

$todays_date = date("Y-m-d"); 
$todays_date = strtotime($todays_date); 


if ($old_date == $todays_date)
 print "equal";
else
 ....
编辑:在回复您的评论时,您可以使用date函数获取当前日期和月份,如下所示:

$m = date("m");
$d = date("d");

您可以在SQL查询中进行正确的比较,然后循环将向查询返回的所有行发送电子邮件:

<?php
    include"connect_mysql.php";
    $sql = "
        SELECT *
        FROM registration_form
        WHERE 
            main_dob_month = MONTH(CURDATE()) AND 
            main_dob_day = DAYOFMONTH(CURDATE())";

    $reminder_dates = mysql_query($sql);
    while($row = mysql_fetch_array($reminder_dates))
    {
        // send email(s)
    }
?> 


它将工作

我分别存储了日期(10)、月份(4)和年份(1993)永远不要这样做!使用日期时间类型!你尝试过任何研究吗?也许是一个PHP函数,可以让你得到今天的日期和月份*咳嗽**咳嗽*请不要用
mysql.*
函数来编写新代码。它们不再得到维护,社区已开始恢复。看到了吗?相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果你想学习的话,我怎么比较一天和一个月呢?非常感谢你的快速回复!嗯,如何删除$m(07)前面的“0”?因为在数据库中,我的月份是“7”而不是“07”。@ PSY请学习阅读好的手动条目。当在Afor循环中发送大量电子邮件时要小心,很多Web主机认为这是垃圾邮件行为,可能采取行动或黑名单您的Web服务器IP地址。
$main_date   = "{$main_dob_year}-{$main_dob_month}-{$main_dob_day}";
$todays_date = date("Y-m-d");
$today       = strtotime($todays_date);
$main_dt     = strtotime($main_date);

if($main_dt == $today)
{
  $valid = "send email";
  echo $valid;
}