PHP - 如何返回带有日期比较的行


php- how to return row with date comparison

我正在尝试从我的数据库中返回一行信息,其中当前日期在我保存在数据库中的两天之间,即意味着他们还在度假。目前我已经编写了下面的代码,但似乎没有返回任何内容,即使在我的数据库中有一个行程,今天在开始和结束日期之间。

$today = date("Y-m-d");
$sql = "SELECT * FROM trips WHERE id =$user_id_session AND date1 < $today && date2 > $today";

在我的数据库表中,有两个字段,分别是日期 1 和日期 2,用于存储旅行的开始和结束日期。

日期是字符串,因此,如果您将变量直接放入查询中(您不应该这样做,并且应该改用预准备语句),则需要在其周围使用单引号。 此外,您可能需要检查它是否小于/大于或等于今天。

$sql = "SELECT * FROM trips WHERE id =$user_id_session AND date1 <= '$today' && date2 >= '$today'";

此外,如果您的用户 ID 会话变量是字符串,则也需要用单引号括起来。