當我有一個內置的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