Php 我怎样才能把现在变成昨天

Php 我怎样才能把现在变成昨天,php,mysql,Php,Mysql,我想把dealend设置为昨天而不是现在。有没有办法在这个命令行中执行此操作 $query = mysqli_query($myConnection, "UPDATE bookdeals SET dealend='now()' WHERE id='$pid'") or die (mysqli_error($myConnection)); 请注意,您使用的“now()”并没有使用名为“now”的函数。您试图将表字段设置为字符串,其内容为字母n、o、w等。。。。引号将事物转换为字符串,而这些东西一

我想把dealend设置为昨天而不是现在。有没有办法在这个命令行中执行此操作

$query = mysqli_query($myConnection, "UPDATE bookdeals SET dealend='now()' WHERE id='$pid'") or die (mysqli_error($myConnection));
请注意,您使用的
“now()”
并没有使用名为“now”的函数。您试图将表字段设置为字符串,其内容为字母
n
o
w
等。。。。引号将事物转换为字符串,而这些东西一旦被串起来就失去了它们的特性

请注意,您使用的
“now()”
并没有使用名为“now”的函数。您试图将表字段设置为字符串,其内容为字母
n
o
w
等。。。。引号将事物转换为字符串,一旦字符串化,这些事物就会失去其特殊性。

now()是一个SQL函数,由事务的开始时间决定。您可以通过调用

SET TIMESTAMP = ...
但是,要使其工作,它需要与更新查询位于同一事务中。相反,我建议您采取以下措施:

UPDATE bookdeals SET dealend=DATE_SUB(NOW(), INTERVAL 1 DAYS) WHERE id='$pid'
这使用MySQL SUB_DATE()函数,它将从当前时间中减去一天。

now()是一个SQL函数,由事务的开始时间确定。您可以通过调用

SET TIMESTAMP = ...
但是,要使其工作,它需要与更新查询位于同一事务中。相反,我建议您采取以下措施:

UPDATE bookdeals SET dealend=DATE_SUB(NOW(), INTERVAL 1 DAYS) WHERE id='$pid'

这将使用MySQL子函数DATE(),它将从当前时间中减去一天。

您可以使用MySQL子函数DATE\u

... dealend=DATE_SUB(now(),INTERVAL 1 DAY) ...

有关MySQL日期函数的更多信息,请使用MySQL日期子函数

... dealend=DATE_SUB(now(),INTERVAL 1 DAY) ...

有关MySQL日期函数的更多信息

是否应该是
date\u SUB
?否。你可以像那样直接在日期数学中使用间隔。实际上CURDATE()适用于我的情况,但这是我提出的问题的正确答案。谢谢。不应该是日期吗。你可以像那样直接在日期数学中使用间隔。实际上CURDATE()适用于我的情况,但这是我提出的问题的正确答案。谢谢