Необработанный запрос в CodeIgniter означает выполнение SQL-запросов напрямую с использованием библиотеки базы данных CodeIgniter, а не с использованием встроенного построителя запросов или методов ActiveRecord. Этот подход полезен, когда вам нужно написать сложные или специальные запросы, которые невозможно легко выполнить с помощью построителя запросов CodeIgniter.
Вот несколько способов выполнения необработанных запросов в CodeIgniter с примерами кода:
-
Использование метода
$this->db->query():$query = $this->db->query("SELECT * FROM users WHERE status = 'active'"); $result = $query->result(); -
Использование привязок запросов для предотвращения внедрения SQL:
$sql = "SELECT * FROM users WHERE id = ?"; $query = $this->db->query($sql, array($userId)); $result = $query->result(); -
Выполнение необработанного запроса с несколькими инструкциями:
$sql = " UPDATE users SET status = 'inactive' WHERE last_login < '2022-01-01'; SELECT * FROM users WHERE status = 'inactive'; "; $query = $this->db->query($sql); $results = $query->getResult(); -
Использование именованных заполнителей для привязок запросов:
$sql = "SELECT * FROM users WHERE id = :userId"; $params = array('userId' => $userId); $query = $this->db->query($sql, $params); $result = $query->result(); -
Выполнение необработанного запроса и возврат одной строки:
$sql = "SELECT * FROM users WHERE id = ?"; $query = $this->db->query($sql, array($userId)); $row = $query->row();
Не забывайте очищать и проверять вводимые пользователем данные при использовании необработанных запросов, чтобы предотвратить атаки с использованием SQL-инъекций.