首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获得在MYSQLI查询中工作的日期条件

无法获得在MYSQLI查询中工作的日期条件
EN

Stack Overflow用户
提问于 2022-07-12 15:15:09
回答 1查看 28关注 0票数 -1

我正试图让用户在被跟踪的人生日前一周和生日后一周出现生日。但似乎不起作用。MySQL表user_birthdays由以下4行组成: bid、bname、bdate、buser_id。bdate以YYYY DD格式保存在数据库中。

代码语言:javascript
复制
$sql = "SELECT * FROM user_birthdays WHERE bdate BETWEEN DATE_FORMAT(CURDATE(), '%m-%d') - INTERVAL 7 DAY AND DATE_FORMAT(CURDATE(), '%m-%d') + INTERVAL 7 DAY AND buser_id='{$_SESSION['id']}'";
$result = mysqli_query($connection, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {

当我不使用日期条件时,一切都正常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-12 15:24:56

假设bdate的格式是正确的,那么试试这个:

WHERE bdate BETWEEN DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 7 DAY), '%m-%d') AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 7 DAY), '%m-%d')

否则,您可以计算php中的min和max日期,并将它们插入between $min_date and $max_date中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72954622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档