你好,我在使用CodeIgniter中的查询生成器时遇到了一个问题。问题是它使用单引号将日期括起来。查询如下所示:
SELECT *
FROM `enquiries`
WHERE DAY(enquiry_date) = 'DAY(CURDATE())'
AND YEAR(enquiry_date) = 'YEAR(CURDATE())'
AND MONTH(enquiry_date) = 'MONTH(CURDATE())'当然,由于单引号的原因,它永远不会返回任何结果。我有什么办法摆脱他们吗?或者我必须执行硬编码查询?
如果我从phpmyadmin sql控制台执行相同的查询,如下所示
SELECT * FROM `enquiries` WHERE DAY(enquiry_date) = DAY(CURDATE()) AND MONTH(enquiry_date) = MONTH(CURDATE()) AND YEAR(enquiry_date) = YEAR(CURDATE())它工作得很好。
我的方法是:
public function enquiries_get(){
$this->load->model('Model_enquiries');
$enquiries = $this->Model_enquiries->get_many_by(array('DAY(enquiry_date)' => 'DAY(CURDATE())', 'YEAR(enquiry_date)' => 'YEAR(CURDATE())', 'MONTH(enquiry_date)' => 'MONTH(CURDATE())' ));
if ($enquiries) {
$this->response(array('status' => 'success', 'status_code' => '200', 'message' => '200 OK', 'response' => $enquiries));
} else {
$this->response(array('status' => 'failure', 'status_code' => '404', 'message' => '404 Not Found', 'response' => 'We couldn\'t find any enquiries for today. Please check again later.'), REST_Controller::HTTP_NOT_FOUND);
}
}有什么想法吗?
发布于 2016-06-20 17:24:25
您可以尝试使用php函数来获取今天的日期、年份和月份,如下所示。
$year = date('Y');
$month = date('m');
$day = date('D');并在查询中直接传递变量...!!
https://stackoverflow.com/questions/37708949
复制相似问题