у меня есть поле в моей таблице БД, как creater_date
как DateTime и имеющие значения, хранящиеся в виде 2013-09-13 02:12:44
PHP/Codeigniter-- Как сравнить только дату, за исключением времени
Теперь я должен сравнить сегодня-дату (нет времени) с creater_date
стол поле.
Я попробовал этот код, приведенный ниже, но он показывает ошибку:
function check_existing_User_weightStatus($u_id)
{
$this->load->database();
$this->load->helper('date');
$today = date('Y-m-d');
$array = array('creater_id' => $u_id,DATE('created_date') => $today);
$this->db->where($array);
$query = $this->db->get('user_weight');
if ($query->num_rows() > 0) {
return true;
} else {
return false;
}
}
ошибка Получение:
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 '13 Sep 2013 02:48:27 +0530Asia/Calcuttaam30Asia/Calcutta13_13am30Asia/Calcutta '' at line 4
SELECT * FROM (`user_weight`) WHERE `creater_id` = '3235' AND `2013-09-13T02:48:27+05:30Fri,` 13 Sep 2013 02:48:27 +0530Asia/Calcuttaam30Asia/Calcutta13_13am30Asia/Calcutta '2013-09-13'
Filename: D:\xampp\htdocs\webapp\system\database\DB_driver.php
Line Number: 330
я не хочу, чтобы сравнить со временем, я только хочу comapare с сегодняшней датой. Поле created_date
(например, 2013-09-13 02:12:44) имеет datetime
типы данных с некоторыми значениями времени. Но я хочу сравнить только с датой
не датируйте время в оба конца от php до db. использовать собственные сравнения, например. 'Creater_id = CURDATE()'. –
@MarcB Извините, что вы подразумеваете под 'do not round-trip dates '? не могли бы вы его уточнить? – beginner
считают, что PHP может генерировать дату в 11:59:59 вечера, но запрос не будет работать до 12:00:00 следующего дня. не имеют PHP, генерируют дату, когда БД может сделать это за вас, и используйте правильную дату «прямо сейчас». –