Следующий код реализует библиотеку ActiveRecord в CodeIgniter (хотя ActiveRecord обычно ссылается на совершенно другой способ получения значений из базы данных).
$this->db
->select('*')
->from('table');
$this->db->get();
Прямо до метода get () ActiveRecord создаст и сохранит SQL-запрос внутренне, а затем, когда вы вызываете get (), выполните этот запрос и замените его объектом результата, к которому затем можно получить доступ с помощью result ( ), result_array (), row () или row_array ().
Следующий код выполнит SQL-запрос непосредственно из заданного вами аргумента $ sql
$this->db->query($sql);
С этого момента, если вы ВЫБИРАЛИ данные из своей базы данных, вы можете сделать это:
$result = $this->db->result_array();
чтобы получить результаты этого запроса в массив.
Для нумерации страниц вы можете использовать оба способа. Это, например, получит записи для страницы 3, если у вас было 10 записей на странице:
$query = $this->db->select('*')->from('table')->limit(10, 30)->get();
if($query->num_rows())
{
return $query->result_array();
}
return FALSE;
И, если вы используете какой-либо из методов $ this-> db () (where ()), CodeIgniter автоматически экранирует введенные в него значения:
$this->db->where('id', "'i am a nasty piece of SQL';DROP DATABASE 'my_db'");
Это было бы хорошо - CodeIgniter позаботится об этом за вас. Просто всегда помните, что то, что это сделано для вас, не означает, что в вашем коде нет других способов выявить уязвимости в безопасности.