В рамках codeigntier у меня есть следующее:
echo $this->db->where('FROM_UNIXTIME(`last_login`) >=','NOW() - INTERVAL 1 DAY')->from('users')->count_all_results();
Результат выше: 0
Я использовал print_r ($ this-> db-> last_query ()); чтобы получить текущую строку sql, которая выполняется, и она выглядит следующим образом:
SELECT COUNT( * ) AS `numrows`
FROM `users`
WHERE FROM_UNIXTIME( `last_login` ) >= NOW( ) - INTERVAL 1
DAY
Когда я запускаю его с помощью mysql, я получаю правильный результат: 1.
Я предполагаю, что побег работает сейчас или что-то, но не может понять это. Есть идеи?
====
Новое обновление.
Извините, CI3 выплевывает это:
SELECT COUNT(*) AS `numrows`
FROM `users`
WHERE FROM_UNIXTIME(`last_login`) >= 'NOW() - INTERVAL 1 DAY'
Выше выдает 0, когда я запускаю его в mysql. Когда я использую ниже, это работает:
SELECT COUNT(*) AS `numrows`
FROM `users`
WHERE FROM_UNIXTIME(`last_login`) >= NOW() - INTERVAL 1 DAY
Итак, это два маленьких апострофа. Как я могу это исправить?