需要帮助通过PHP在MySQL中设置未来日期

cod*_*pia 0 php mysql date strtotime

我试图从PHP中将未来日期插入到MySQL表中.我已经能够使用当前日期插入,strtotime但是当我为此调用添加时间时,它似乎不会插入它.这是代码:

<?php
$currentDate = strtotime('now');
$expirationDate = strtotime('+ 90 days');

include_once "mysql-connect.php";       

$cur = "UPDATE table SET current_date = FROM_UNIXTIME($currentDate) WHERE ...";

if (!mysql_query($cur,$con))
{
die('Heres Your Error: ' . mysql_error());
}
echo "the date is set";

$exp = "UPDATE table SET expiration_date = FROM_UNIXTIME($expirationDate) 
WHERE ...";


if (!mysql_query($exp,$con))
{
die('Heres Your Error: ' . mysql_error());
}
echo " expiration date is set";

mysql_close($con)
?>
Run Code Online (Sandbox Code Playgroud)

就像我说的,当我运行它时,它会根据请求将当前日期插入current_date行.由于某种原因,它不会插入当前日期前90天的expiration_date.我已经确认过期日期将在90天内被提取.为什么这不起作用?

Mar*_*c B 6

您可以直接在MySQL中执行此操作:

$days = 90;

$sql = "UPDATE ... SET expiration_date = DATE_ADD(current_date, INTERVAL $days DAY);"
Run Code Online (Sandbox Code Playgroud)

这将为您节省从datetime-> unix timestamp-> datetime多余的往返.