2011-06-14 65 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