2012-10-29 72 views
1

我剛剛開始使用活動記錄(之前我只是寫了手動查詢,因爲我很習慣他們)。codeigniter活動記錄,何時轉義,如果有的話

我一直在尋找ion_auth的代碼,我看到,在一些地方,即使採用活動記錄琴絃已經逃脫,

->where($this->identity_column, $this->db->escape_str($identity)) 
->where($this->tables['groups'].'.name', $this->db->escape_str($group)) 

事情是,我還沒有逃脫任何地方我已經使用過活動記錄,因爲它表示活動記錄會自動轉義字符串。

我的問題,當使用活動記錄,有一些情況下,你應該逃避字符串?

回答

5

從CodeIgniter用戶指南:

超越簡單,使用活動記錄功能 的主要好處是它允許您創建數據庫獨立應用程序 ,因爲查詢語法由每個數據庫適配器生成。它也允許更安全的查詢,因爲這些值會自動轉義 由sy幹。

ion_auth的創建者可能已經轉義的字符串特別的原因,但如果你使用的是活動記錄,笨查詢自動轉義。

但有些查詢可能是「活動記錄」,需要進行轉義。 Here's a list of them,同樣來自Codeigniter用戶指南。

0

通常你可以讓codeigniter處理它。在某些情況下,如果你使用的是活動記錄建立一個更復雜的查詢(例如:$this->db->where('(some sql where clause)')您可以使用DB庫的逃生方法

0

不,不需要使用轉義。我已經嘗試過使用不同格式的文本混合單引號和雙引號也是一堆html標籤,所有的作品都很好。