Функция PHP Get Age не работает на Codeigniter - PullRequest
0 голосов
/ 11 февраля 2019

Я использую CodeIgniter с 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'];
}

, но я получаю error .

Ошибка базы данныхНомер возникшей ошибки: 1305

ФУНКЦИЯ tblname.age не существует

ВЫБЕРИТЕ age ('dob', '2019-02-11') как возраст FROM users WHERE user_id =53

Имя файла: модули / учетная запись / модели / Account_model.php

Номер строки: 142

1 Ответ

0 голосов
/ 11 февраля 2019

age не является функцией mysql.

Если вы хотите использовать age в mysql, вы можете использовать запрос как

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...