У меня есть поле в моей таблице db как creater_date
как datetime и имеет значения, хранящиеся в форме 2013-09-13 02:12:44
Теперь мне нужно сравнить сегодняшнюю дату (нет времени) с creater_date
таблицы creater_date
.
Я попробовал этот ниже код, но он показывает ошибку:
function check_existing_User_weightStatus($u_id) { $this->load->database(); $this->load->helper('date'); $today = date('Ym-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
я не хочу сравнивать со временем, я только хочу объединиться с сегодняшней датой. Поле created_date
(например, 2013-09-13 02:12:44) имеет типы данных datetime
с некоторыми значениями времени. Но я хочу сравнить только с датой
Проблема в том, что ваш код генерирует неисправный синтаксис SQL, как показывает ошибка.
Я не эксперт с codeIgniter, но вот как сделать обычный запрос напрямую, это, вероятно, то, что вы хотите сделать:
function check_existing_User_weightStatus($u_id) { $today = date('Ym-d'); $this->load->database(); $query = $this->db->query("SELECT * FROM `user_weight` WHERE `creater_id` = '$u_id' AND DATE(`created_date`) = '$today'"); if ($query->num_rows() > 0) { return true; } else { return false; } }
Ошибка в вашем коде происходит в этой строке
$array = array('creater_id' => $u_id,DATE('created_date') => $today);
Я уверен, что это не так, как будет сделано предложение where, поэтому вы можете найти документы codeIgniter! найти правильный способ сделать это! (Вы не указываете, где предложение использовать AND
, OR
и т. Д. Операторов)