gpt4 book ai didi

php - 如果给定日期在两个日期之间,如何选择行?

转载 作者:可可西里 更新时间:2023-11-01 06:36:40 25 4
gpt4 key购买 nike

如果给定日期仅介于表中的两个日期之间,我将尝试选择行在类(class)表中,我有开始日期和结束日期。

如果可能我还需要在查询中做条件

$coursneededdate >= startdate AND $coursneededdate <= enddate

这是我的代码,如有任何帮助,我们将不胜感激。

$coursneededdate = '2020-08-27';
$sql = "SELECT * FROM curriculum where ".$coursneededdate." between 'startdate' and 'enddate'";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {


while($row = $result->fetch_assoc()) {

echo $row["curriculum_id"];


}
}

最佳答案

您的 SQL 语句的计算结果为 SELECT * FROM curriculum where '2020-08-27' between 'startdate' and 'enddate',其中包含所有字符串值但没有日期。

提供的参数以字符串形式开始,因此您需要使用 STR_TO_DATE 将其转换为日期值.表中的列名不应包含在引号中。您有时会看到用于指定列名称的反引号。

你的查询应该是这样的

SELECT * FROM curriculum WHERE STR_TO_DATE('2020-08-27','%Y-%m-%d') BETWEEN `startdate` AND `enddate`;

重要提示

如果提供的字符串日期值来自用户生成的输入,则使用字符串连接创建 SQL 查询会使代码容易受到 SQL Injection 的攻击。 .

关于php - 如果给定日期在两个日期之间,如何选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29690079/

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