問題是當字符串包含單詞'or'和'like'的組合時,活動記錄語句中的字符串會被轉義。下面是我用奇怪的Codigniter查詢轉義
$this->db->select('id');
$this->db->where('phrase', $phrase);
$this->db->from('phrases');
$ret = $this->db->get();
這適用於普通字符串,但是當$短語遇到一個字符串像 故障代碼「點擊事件或訂房代碼,你想用。」 其中'或'和'喜歡'作爲單詞存在。
結果查詢會像
SELECT `id` FROM `phrases` WHERE `phrase` = 'Click on the Event or `Booking Code you` `would` like to use.'
我不能禁用逃脫,因爲這來得心應手其他字符串。
我個人發現CI的活動記錄API比它的價值更麻煩。正如你發現的那樣,它破壞了一些東西,並且無法處理複雜的查詢。你總是可以繞過它並使用'$ db-> query('sql here')' – Utkanos
感謝提示@Utkanos。似乎這是唯一的解決方案clubbedbed手動轉義字符串使用$ this-> db-> escape($ phrase) – Sony