假设我的 DoB 是 1975-04-28,存储在变量 $dob
我想获取出生 +/- 5 岁的人,所以介于 1970-04-28 和 1980-04-28 之间。
这是我到目前为止得到的:
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 BETWEEN ? - INTERVAL 5 YEAR AND ? + INTERVAL 5 YEAR
?
代表匿名占位符,在执行时使用您的 $dob
变量进行参数化。鉴于您在别处使用命名占位符(例如 :sex
),您可能希望在这里也使用命名占位符——但请记住,您不能多次使用相同的参数名称,因此您需要使用例如:dob1
和 :dob2
。
关于php - 选择出生日期为 +/- 5 年(PHP dob 变量)的人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19995538/