用PHP检查MySQL的DATETIME

Fre*_*Bud 4 php mysql datetime

我缺乏PHP/MySQL环境的一些经验.我有一个名为MyTable的MySQL表.在其中我有一个名为RowTime的字段,类型为DATETIME NOT NULL.在PHP中选择行后,我想检查RowTime是否大于或小于3天.

鉴于所有不同类型的时间类型,有人可以帮助完成以下代码(我故意省略各种错误处理):

$dblink = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$dbquery = "SELECT RowTime FROM MyTable WHERE Id='" . $myId . "'";
$result = mysqli_query($dblink, $dbquery);
$numrows = mysqli_num_rows($result);
// ... Verify $numrows == 1 ...
$myRow = mysqli_fetch_assoc($result);
$rowTime = $myRow['RowTime'];

// NEED HELP HERE to check whether $rowTime is older or younger than 3 days

mysqli_free_result($result);
Run Code Online (Sandbox Code Playgroud)

Bar*_*rif 6

您可以使用特殊的SQL运算符来检查您的日期是否超过3天:

$dblink = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$dbquery = "SELECT RowTime, IF(RowTime + INTERVAL 3 DAYS > now(), true, false) as isYounger FROM MyTable WHERE Id='" . $myId . "'";
$result = mysqli_query($dblink, $dbquery);
$numrows = mysqli_num_rows($result);
// ... Verify $numrows == 1 ...
$myRow = mysqli_fetch_assoc($result);
$rowTime = $myRow['RowTime'];
if($myRow['isYounger']) {
    //record is younger
} else {
    //record is older
}
mysqli_free_result($result);
Run Code Online (Sandbox Code Playgroud)