Сравните две метки времени Codigniter

Я пытаюсь подсчитать количество уведомлений, полученных пользователем в Codeignter. Я сравниваю отметку времени, которая сохраняется в каждой строке пользователей, в которой записывается время последней проверки страницы уведомлений, и время, добавляемое для каждого уведомления. Однако я получаю ошибку базы данных:

A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10:17:00' at line 5

SELECT * FROM (`notifications`) WHERE `user_id` = '1' AND `instigator_id` != '1' AND added <= 2014-11-04 10:17:00

Имя файла: /Users/true/Documents/Site/models/private/notifications_model.php

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

Контроллер уведомлений выглядит так

$data["user"] = $CI->Profile_model->get_public_profile_id($logged_user);
$count = $CI->notifications_model->get_notifications_count($data["user"][0]["notes_check"]);

Модель:

public function get_notifications_count($time){$this->db->from($this->notifications_table);
$this->db->where('user_id', $this->session->userdata("id", 0));
$this->db->where('instigator_id !=', $this->session->userdata("id", 0));
$this->db->where('added <= '.$time, '', false);
$query = $this->db->get();
$results = $query->result_array();

return count($results);}

0

Решение

Ваши значения даты / времени являются строками. Так как у вас нет '-квот кавычки вокруг них, MySQL видит это:

added <= 2014-11-04 10:17:00
^^^^^^^^^^---mathematical subtraction = 1999
^^^^^^^^^--illegal unknown field/table name

Так должно быть

added <= '2014-11-04 10:17:00'

Обратите внимание на цитаты.

0

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

Других решений пока нет …

По вопросам рекламы [email protected]