TIMESTAMPDIFF не работает на запрос MySQL в codeigniter

Таким образом, в основном у меня есть запрос TIMESTAMPDIFF в моей модели, чтобы определить продолжительность, и я хочу, чтобы он отображал продолжительность в представлении. Проблема в том, что будет отображаться ошибка.

Пожалуйста, помогите мне, спасибо.

Вот мой запрос моей модели (model_attendance.php):

public function getOne($username){
$sql = "SELECT empnum FROM employees WHERE username='$username'";

$result = $this->db->query($sql);

$sql1 = "SELECT a.empnum,CONCAT(a.name,' ',a.midname,' ',a.lastname) AS
NAME,CONCAT(b.indate,' ',b.intime) AS 'TIMEIN',CONCAT(b.outdate,'
',b.outtime)AS 'TIMEOUT', TIMESTAMPDIFF(HOUR, 'TIMEIN','TIMEOUT') AS 'DUR'
FROM employees AS a
JOIN times AS b ON (a.empnum=b.userid)
WHERE b.indate BETWEEN
DATE(CONCAT(YEAR(CURRENT_TIMESTAMP),'-',MONTH(CURRENT_TIMESTAMP),'-','01'))
AND DATE(LAST_DAY(CURRENT_TIMESTAMP)) AND b.userid='".$result->row(0)->empnum."'";

$query = $this->db->query($sql1);

return $query->result();
}

0

Решение

Чтобы решить эту проблему, вам нужно передать тип возвращаемого значения как «false» в запрос на выборку активной записи.

$this->db->select("TIMESTAMPDIFF(YEAR,a.date_birth, CURDATE()) AS age", false);
1

Другие решения

Присвойте это переменной и передайте в ваш SQL-запрос.

$now = date('Y-m-d H:i:s'); # 2015-1-30 04:32:25 / With time
$now = date('Y-m-d'); # 2015-1-30 / Without time
0

Это потенциально ошибка. Я еще не проверил класс Query Builder. Но чтобы это исправить … вы можете попробовать добавить `в столбец следующим образом

$this->db->select("TIMESTAMPDIFF(YEAR, `a.date_birth`, CURDATE()) AS age");

или же

$this->db->query("TIMESTAMPDIFF(YEAR, `a.date_birth`, CURDATE()) AS age");
0
По вопросам рекламы [email protected]