gpt4 book ai didi

php - 它将数据库中 "Active"字段的所有值设置为 0

转载 作者:行者123 更新时间:2023-11-29 03:07:35 25 4
gpt4 key购买 nike

$createDate = mktime(0,0,0,10,28,date("Y"));
$selectedDate = date('d-m-Y', ($createDate));
$active = 0;
$sql = "UPDATE Session SET Active = ? WHERE SessionDate <= ?";
$update = $mysqli->prepare($sql);
$update->bind_param("is", $active, $selectedDate);
$update->execute();

我不认为我已经正确设置了上面的代码,因为我正在运行一个 CRON 作业,我已经声明每年 10 月 28 日(今天),它将“事件”字段设置为 0。

问题是它将我数据库中所有行的事件字段设置为“0”,即使是在今年 10 月 28 日之后也是如此。

下面是应该发生的事情:

  • 现在今年是 2012 年,所以当它变成 10 月 28 日(现在是现在)时,“SessionDate”在此日期之前的任何考试的“有效”值都应为“0”,其他考试保持“有效”值为“1”。

  • 直到明年 10 月 28 日,CRON 才会开始工作,这次显然是 2013 年。同样的规则适用于“SessionDate”在此日期之前的任何考试,应该有一个“有效”值为“0”,其他考试的“有效”值为“1”。

  • CRON 将在次年 10 月 28 日之前开始工作,这次显然是 2014 年。同样的规则适用于“SessionDate”早于该日期的任何考试“有效”值为“0”,其他考试的“有效”值为“1”。

等等....

那么当 CRON 执行时,为什么我所有的数据库行的“事件”字段都设置为 0?

最佳答案

这不起作用的原因是日期结构与数据库中的日期结构不匹配。

在我的 php 脚本中,我将其作为:

$selectedDate =  date('d-m-Y', ($createDate));

应该是这样的:

$selectedDate =  date('Y-m-d', ($createDate));

关于php - 它将数据库中 "Active"字段的所有值设置为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13105595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com