我正在尝试检索已插入到我的MYSQL表中的所有未来日期的列表。
示例:我已插入值8-16-14,8-27-16,8-17-17。问题是下面的代码返回所有值,而不仅仅是未来的值。
为什么这不起作用的任何想法?
public function getUpcomingDate($id) {
$date = date('m-d-y');
$stmt = $this->conn->prepare("SELECT * FROM roles WHERE id = ? AND item_date > '$date'");
$stmt->bind_param("i", $id);
$stmt->execute();
$user = $stmt->get_result();
$row_count = $user->num_rows;
while ($row = $user->fetch_assoc()) {
$data[] = $row;
}
$stmt->close();
if($data) {
return $data;
} else {
return false;
}
}
答案 0 :(得分:0)
您无法检查日期(以字符串形式安排)是否大于另一个日期(以字符串形式安排)。
这就是为什么你应该将日期作为unix时间戳存储在数据库中,然后将$ date与数据库中的“item_date”进行比较。
检查stackoverflow上的这个strtotime示例 - > here