选择出生日期为+/-5年的人(PHP dob变量)

选择出生日期为+/-5年的人(PHP dob变量),php,mysql,Php,Mysql,假设我的DoB是1975-04-28,存储在变量$DoB中 我想找出生在1970-04-28和1980-04-28之间+/-5岁的人 以下是我目前得到的信息: SELECT id, username FROM tusers WHERE profile_picture IS NOT NULL AND settings LIKE '1,%' AND sex = :sex AND last_visit BETWEEN CURDATE() - INTERVAL 21 DAY AND CURDATE(

假设我的DoB是1975-04-28,存储在变量$DoB中

我想找出生在1970-04-28和1980-04-28之间+/-5岁的人

以下是我目前得到的信息:

SELECT id, username FROM tusers 
WHERE profile_picture IS NOT NULL
AND settings LIKE '1,%' 
AND sex = :sex
AND last_visit BETWEEN CURDATE() - INTERVAL 21 DAY AND CURDATE()
多谢各位

编辑:人们的DoB以DoB列的形式存储在数据库中,格式为:1989-06-30

Edit2:我在查询中没有WHERE dob子句,因为我迄今为止尝试的所有操作都失败了。

WHERE dob BEVER?-间隔5年及以上间隔5年
s表示匿名占位符,在执行时使用$dob变量进行参数化。鉴于您在别处使用了命名占位符,例如:sex,您可能也希望在此处使用命名占位符,但请记住,您不能多次使用同一个参数名,因此您必须使用例如:dob1和:dob2。

为什么所有的反对票都是反对票,然后是反对票?这个问题完全在范围之内,也表明了他们的努力。为什么要因为一个好问题而劝阻别人呢?我已经试过几种方法了。比如DATEDIFF和其他,但我失败了。我不知道如何使我的dob变量与人们存储的dob相匹配。你没有dob WHERE子句?@zzlalani你读错了;回到+/-5。从my DB复制/粘贴以显示格式时,错误地放置了另一个日期。
select * from  tbl 
        where  dob 
        between  DATE_ADD(givendate,INTERVAL -5 YEAR) 
        and      DATE_ADD(givendate,INTERVAL +5 YEAR)