Php 如何在mysql数据库中查找特定日期数据或下一个日期数据?

Php 如何在mysql数据库中查找特定日期数据或下一个日期数据?,php,mysql,Php,Mysql,我正试图从数据库中找到特定的日期数据, 我的概念是,如果数据库中有日期,则应在输出中显示日期,如果不存在,则应向2018-11-30添加+1日期,并尝试查找下一个日期2018-12-01 但我面临的问题是数据库中没有检查日期。我不确定我的代码是正确的还是错误的。有人能给我解决方法吗 这是我的密码 $Firstdate = '2018-11-29'; $Lastdate = '2018-12-03'; $Sql2 = "SELECT ScheduleDate FROM `empdet`"; $

我正试图从数据库中找到特定的日期数据, 我的概念是,如果数据库中有日期,则应在输出中显示日期,如果不存在,则应向
2018-11-30
添加+1日期,并尝试查找下一个日期
2018-12-01

但我面临的问题是数据库中没有检查日期。我不确定我的代码是正确的还是错误的。有人能给我解决方法吗

这是我的密码

$Firstdate = '2018-11-29';
$Lastdate = '2018-12-03'; 

$Sql2 = "SELECT ScheduleDate FROM `empdet`";
$result2 = mysqli_query($con, $Sql2);

while($row = mysqli_fetch_array($result2))
{
    if($row["ScheduleDate"]==$Firstdate)
    {
        $DBfirstdate==$Firstdate; 
        echo "$DBfirstdatebb",$DBfirstdate;
        break;
    }
    else {
        $checkFDBdate=date('Y-m-d', strtotime("+1 day", strtotime($Firstdate)));

        if($row["ScheduleDate"]==$checkFDBdate)
        {
            $DBfirstdate=$checkFDBdate;
            echo "$DBfirstdate",$DBfirstdate;
            break;
        }
    }
}


$Sql3 = "SELECT ScheduleDate FROM `empdet`";
$result3 = mysqli_query($con, $Sql3);

while($row = mysqli_fetch_array($result3))
{
    if($row["ScheduleDate"] == $Lastdate) {
        $DBlastdate==$Lastdate;   
        echo "$DBlastdateBB",$DBlastdate;
        break;
    }
    else {
        $checkLDBdate=date('Y-m-d', strtotime("-1 day", strtotime($Lastdate)));

        if($row["ScheduleDate"]==$checkLDBdate)
        {
            $DBlastdate=$checkLDBdate;
            echo "$DBlastdate",$DBlastdate;
            break;
        }
    }
}

$sql ="select * from empdet where ScheduleDate between '".$DBfirstdate."' and '".$DBlastdate."'";
$result = $con->query($sql);
从'empdet'中选择ScheduleDate,其中ScheduleDate>'$Firstdate'和ScheduleDate<'$Lastdate'按ScheduleDate限制1排序

这样试试。您将从给定的日期范围中获得第一个原始数据。

具有用于选择数据的WHERE子句。PHP有防止SQL注入的功能。我无法理解bro@dankblacki无法执行他的语句,因为我必须找到$Firstdate和$Lastdate是否存在于表中,所以我只是尝试上述概念,但无法执行。请给出具体范围。因此,您将获得第一个结果,因为最新的可用日期它起作用了我做了一些细微的更改$Sqlq12=“SELECT ScheduleDate FROM
empdet
where ScheduleDate@selvasurya这很好,但这不是您所说的您想要的。如果有一些文本解释您的答案,而不是每个人都阅读代码并理解,那将是一件好事。
Select stuff from somewhere where something > 'value' order by something limit 1
SELECT ScheduleDate FROM `empdet` where ScheduleDate > '$Firstdate' and ScheduleDate < '$Lastdate' order by ScheduleDate limit 1