0

I'm using CodeIgniter with php5.6

public function getUserAge($uid=''){
    $today = date('Y-m-d');
    $res = $this->db->select("age(dob, '$today') as age")->from('users')->where(array('user_id' => $uid))->get()->row_array();

    return $res['age'];
}

but I get error.

A Database Error Occurred Error Number: 1305

FUNCTION tblname.age does not exist

SELECT age('dob', '2019-02-11') as age FROM users WHERE user_id = 53

Filename: modules/account/models/Account_model.php

Line Number: 142

Pathik Vejani
  • 4,263
  • 8
  • 57
  • 98
Shuvo
  • 17
  • 5

1 Answers1

0

age is not a mysql function.

If you want age in mysql you could use a query as

SELECT YEAR(CURDATE()) - YEAR(dob) - 
        IF(STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', MONTH(dob), '-', DAY(dob)) ,'%Y-%c-%e') 
    > CURDATE(), 1, 0) 
AS age

FROM users WHERE user_id = 53

ScaisEdge
  • 131,976
  • 10
  • 91
  • 107