안녕하세요, 저는 CodeIgniter에서 쿼리 빌더를 사용하여 문제가 있습니다. 문제는 작은 따옴표를 사용하여 날짜를 래핑한다는 점입니다. 쿼리는 다음과 같이 표시됩니다.날짜에 작은 따옴표를 제거하십시오 codeigniter
SELECT *
FROM `enquiries`
WHERE DAY(enquiry_date) = 'DAY(CURDATE())'
AND YEAR(enquiry_date) = 'YEAR(CURDATE())'
AND MONTH(enquiry_date) = 'MONTH(CURDATE())'
물론 작은 따옴표로 인해 결과를 반환하지 않습니다. 내가 그들을 없앨 방법이 있니? 또는 하드 코드 된 쿼리를 수행해야합니까? 내가이
SELECT * FROM `enquiries` WHERE DAY(enquiry_date) = DAY(CURDATE()) AND MONTH(enquiry_date) = MONTH(CURDATE()) AND YEAR(enquiry_date) = YEAR(CURDATE())
처럼하면 phpMyAdmin SQL 콘솔에서 동일한 쿼리를 실행하면
는 그것을 잘 작동합니다.
내 방법 :
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);
}
}
어떤 아이디어? 직접 쿼리에
'set()'함수는 값을 그대로 두는 데 사용할 수있는 세 번째 인수를 취합니다.이 함수는 이와 같은 함수를 호출하는 데 필요합니다. [query builder docs] (https://www.codeigniter.com/userguide3/database/query_builder.html#inserting-data)에서이를 설명합니다. – tadman