使用PHP在mysql中查询某个年龄BY出生日期

I created a database of employees and contains the date of birth with varchar format (31-12-2016) or d-m-Y. I want to find employees with ages 58 and above. I use this query :

$age=mysql_db_query($db,"select * from employees where round(datediff(str_to_date(birth_day,'%d-%m-%Y'), curent_date())/365) > 58",@$koneksi);
$birth = mysql_num_rows($birth);

with the above query does not display anything. what is wrong with the query ??

thanks in advance . . .

Use of abs() will give absolute value of a number. Your query returns negative values so you were not getting correct records.

Try to use below query :

select * 
from employees 
where abs(round(datediff(str_to_date(birth_day,'%d-%m-%Y'), current_date())/365)) > 58"

Also you had used curent_date inplace of current_date()