When signing up, users enter their birth day, month and year which is converted to age in a range search. The problem is that the day, month and year ($checkage) found is always one less than it should be (i.e. search for a 20 year old and a 19 year old is returned and a 20 year old who has had a birthday this month won't be returned as a 20 year old until next month):
$stampmebaby =getdate(time()) ;
$day= $stampmebaby[mday] ;
$month=$stampmebaby[mon] ;
$year=$stampmebaby[year] ;
$year1=$year-$Age1 ;
$year2=$year-$Age2 ;
$checkage="(( bday<='$day' AND bmonth<='$month' AND byear='$year1' ) OR ( byear<'$year1' )) AND (( bday<='$day' AND bmonth<='$month' AND byear='$year2' ) OR ( byear>'$year2' ))" ;