2011-06-14 101 views
1

在CodeIgniter中,第一個查詢與第二個查詢的區別如何?哪一個應該用在CodeIgniter中?在CodeIgniter中選擇查詢

1.

$query = $this->db->query('SELECT * FROM my_table WHERE email = $email LIMIT 1'); 

2:

$query = $this 
      ->db 
      ->where('email', $email) 
      ->limit(1) 
      ->get('my_table'); 

感謝。

回答

4

真的沒有區別。

啓用profiler,您將能夠看到實際查詢運行。

當動態構建查詢並自動轉義參數時,活動記錄更易於使用。使用$this->db->query()除非您想使用query bindings(請參閱頁面底部),否則您必須自行轉義。

有些查詢只是爲了有效地使用Active Record而變得複雜,但不是這一個。使用任何你想要的方法,但我的投票是Active Record

+1

+1,我傾向於使用活動記錄,因爲代碼的讀取優於原始SQL。 – freshnode 2011-06-14 11:08:17