Привет, ребята, я пытаюсь получить результат из db, где время отображения таблицы таблицы равно сегодняшней дате.
Поэтому я пытаюсь проверить это условие, используя где. Но я не знаю, что проблема в шляпе
Вот моя модель:
function getDashboardContent() {
$today = date('Y-m-d H-i');
$this->db->select('cd.details,g.displaytime');
$this->db->where('cd.typeofinfo', 2);
$this->db->where("DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i')", $today );
$this->db->from('contentdetails cd');
$this->db->join('content c', 'c.id = cd.contentid');
$this->db->join('group_content gc', 'gc.contentid = c.id');
$this->db->join('groups g', 'g.id = gc.groupid');
$this->db->order_by('cd.id',"DESC");
$this->db->limit('1');
$query = $this->db->get();
print_r($query);
exit;
return $query->result();
}
Вот моя ошибка:
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 ''2018-07-27 12-02' ORDER BY 'cd'.'id' DESC LIMIT 1' at line 7
SELECT 'cd'.'details', 'g'.'displaytime' FROM 'contentdetails' 'cd' JOIN 'content' 'c' ON 'c'.'id' = 'cd'.'contentid' JOIN 'group_content' 'gc' ON 'gc'.'contentid' = 'c'.'id' JOIN 'groups' 'g' ON 'g'.'id' = 'gc'.'groupid' WHERE 'cd'.'typeofinfo' = 2 AND DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i') '2018-07-27 12-02' ORDER BY 'cd'.'id' DESC LIMIT 1
Может ли кто-нибудь помочь мне, какая именно проблема и какая ошибка я сделал
Заранее спасибо.
Почему бы вам не изменить дату и время на метку времени, а затем сравнить это
$this-> db-> где ("TO_SECONDS (g.displaytime)", strtotime ($ today));
Это может вам помочь.
я решил свою проблему, изменив эту строку
$this->db->where("DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i')!=", "$today" );
К
$this->db->where("DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i') = '" . $today . "'");