Выберите запрос в CodeIgniter

#codeigniter

#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');
  

Спасибо.

Ответ №1:

На самом деле нет никакой разницы.

Включите профилировщик, и вы сможете увидеть, как выполняются фактические запросы.

Active record проще использовать при динамическом построении запроса, и параметры экранируются автоматически. Используя $this->db->query() , вы должны избежать его самостоятельно, если не хотите использовать привязки запроса (см. Внизу страницы).

Некоторые запросы слишком сложны для эффективного использования Active Record, но не этот. Используйте любой метод, который вы хотите, но я голосую за активную запись.

Комментарии:

1. 1, я склонен использовать active record, поскольку для меня код читается лучше, чем необработанный SQL.