我正在尝试获取过期日期在今天30天内的数据。我试过用 BETWEEN
但仍然不起作用。
表名注册:
id exp_date
12 05-20-2018
19 05-19-2018
34 05-22-2018
假设今天是 04-28-2018
. 我把它存储在一个变量里 $date_today
```
$date_today = '04-28-2018';
$query = "SELECT * FROM registration WHERE expiration_date BETWEEN('$date_today', DATE_SUB(expiration_date, INTERVAL 30 DAY)";
$test = mysqli_query($con, $query);
$row = mysqli_fetch_assoc1( $test);
这就是我得到的错误:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given
2条答案
按热度按时间rjee0c151#
我希望它对你有用。
3qpi33ja2#
BETWEEN
不是函数,而是运算符。语法是:您还应该停止使用变量替换,并将准备好的语句用于
mysqli_stmt_bind_param()
. 看看如何在php中防止sql注入?要获取未来30天内到期的所有内容,您需要:
请注意,它使用
DATE_ADD()
,不是DATE_SUB()
,因为您希望过期日期在将来,而不是过去。