$query = $this->db->query('Zapytanie SQL');
Metoda "query" wykonuje zapytanie i zwraca do niego uchwyt. Dodatkowo do dyspozycji mamy:
$this->db->escape('łańcuch')
Odpowiednio zabezpiecza (ukośniki i inne operacje) znaki znaczące coś w języku SQL - zabezpiecza przed błędami i atakami SQL Injection (wykonanie złośliwego zapytania przez osoby trzecie). Zwraca łańcuch z zabezpieczonymi danymi. Dodatkowo umieszcza je w pojedynczych cudzysłowach więc nie musimy tego robić.
$this->db->dbprefix
Prefiks do tabel ustawiony w konfiguracji
Wykonanie własnego zapytania SELECT czy też skorzystanie z "get" w Activer Records nie daje nam od razu wyników. Dostajemy
uchwyt do nich. By otrzymać wyniki musimy wykonać na uchwycie metodę
result() zwracającą wyniki w postaci obiektu lub
result_array() w postaci tablicy. Oto przykład:
$query = $this->db->query("SELECT * FROM tabela");
foreach ($query->result() as $row)
{
echo $row->pole1;
echo $row->pole2;
echo $row->pole3;
}
Uchwyty mają dwie inne metody:
$query->num_rows()
$query->num_fields()
Gdzie $query to uchwyt.
num_rows zwraca liczbę wierszy zwróconą przez zapytanie (
gdy interesuje nas sama liczba wyników to koniecznie stosować COUNT w zapytaniu SQL). Metoda
num_fields zwraca ilość pól zwróconych przez wynik.
$this->db->insert_id() - zwróci numer ID pod wykonanym zapytaniu INSERT (dodaniu wpisu). Tabela musi mieć pole auto_increment/serial
$this->db->affected_rows() - zwróci ilość wierszy, na które wpłynęło zapytanie (insert, update, delete...)
$this->db->version() - wyświetla wersję bazy, z której korzystamy.