검색 값 중 하나에 괄호가 포함 된 SQL 쿼리를 만들 때 예상 한 결과를 얻지 못합니다. 그러나 데이터베이스에서 직접 쿼리를 실행하면 예상 한 결과가 반환됩니다.괄호가있는 경우 CodeIgniter가 SQL 쿼리의 결과를 반환하지 않는 이유는 무엇입니까?
또한 검색 결과에 괄호가 없으면 예상 결과가 올바르게 반환됩니다.
CodeIgniter의 모델 기능 :
function get_submodels($params)
{
$sql = "SELECT DISTINCT(`a`.`submodel`), `a`.`model_id` FROM `models` AS `a`"
. "LEFT JOIN `manufacturers` AS `b` ON `a`.`manufacturer` = `b`.`manufacturer_id`"
. "WHERE `a`.`year` = ? AND `b`.`manufacturer` = ? AND `a`.`model` = ?"
. "ORDER BY `a`.`submodel` ASC;";
$query = $this->db->query($sql, $params);
return $query->result();
}
작업 쿼리의 예 :
"... WHERE `a`.`year` = '2007' AND `b`.`manufacturer` = 'CHEVROLET' AND `a`.`model` = 'MONTE CARLO'"
비 작업 쿼리의 예 :
"... WHERE `a`.`year` = '2007' AND `b`.`manufacturer` = 'MERCEDES BENZ' AND `a`.`model` = 'CLK350 (W209)'"
내가 사용하고 $이 -> db-> last_query()이고 쿼리의 형식이 올바로 지정되어 있어야합니다. 결과가없는 마지막 쿼리를 복사하여 데이터베이스에 대해 직접 실행하면 결과가 예상대로 표시됩니다.
그들은 문제가 아니지만 '\ n'을 사용해야하는 이유는 무엇입니까? –
실제 오류 출력은 무엇입니까? – J0HN
@Pekka 새로운 라인은 필요 없지만 phpMyAdmin이 쿼리 실행에서 php 문자열을 자동으로 생성하는 방법입니다. – Dan