【发布时间】:2021-05-25 22:06:14
【问题描述】:
我知道以前有人问过这个问题,但我已经尝试了我找到的建议的解决方案,但没有任何效果。所以,这里是:
我有一个带有 2 个日期字段 sDate 和 eDate 的 mySQL 数据库。这些字段属于“日期”类型,并通过 HTML 表单输入,该表单的输入也是“日期”类型。我要做的是找出今天的日期是否在这两个日期之间,包括两个日期。
$tdy = new DateTime(null, new DateTimeZone('America/Chicago'));
foreach ( $conn->query("SELECT * FROM $table WHERE sDate <= $tdy AND eDate >= $tdy") as $row ) {
do some stuff
}
我得到的错误是:
致命错误:未捕获的错误:无法将类 DateTime 的对象转换为 /home/peaceful/www/www/kokr/pages/cal.php:13 中的字符串:堆栈跟踪:在 /home 中抛出 #0 {main} /peaceful/www/www/kokr/pages/cal.php 在第 13 行
第 13 行是 foreach。我也尝试了其他几种方法,但它们都抛出错误。我真的很想在这方面坚持使用 PHP。谁能告诉我我做错了什么?
【问题讨论】:
-
为什么使用 PHP 的 DateTime 而不是 SQL 函数?