Funkcje pomocnicze zapytań
$this->db->insert_id()
Zwraca numer ID, kiedy wykonujemy dodanie do bazy danych.
$this->db->affected_rows()
Pokazuje liczbę zmienionych wierszy, podczas wykonywania zapytań "zapisu" (insert, update, itd.).
Uwaga: W MySQL zapytanie "DELETE FROM TABLE" zwraca 0 zmienionych wierszy. Klasa bazy danych posiada mały hack, który pozwala na zwrócenie poprawniej ilości zmienionych wierszy. Domyślnie hack ten jest włączony, ale może zostać wyłączony w pliku drivera bazy danych.
$this->db->count_all();
Pozwala na określenie ilości wierszy w konkretnej tabeli. W pierwszym parametrze podajemy nazwę tabeli. Przykład:
echo $this->db->count_all('moja_tabela');
// Zwraca wartość typu integer, np. 25
$this->db->platform()
Zwraca nazwę platformy bazy danych, z której korzystasz (MySQL, MS SQL, Postgres, itd...):
echo $this->db->platform();
$this->db->version()
Zwraca numer wersji bazy danych, z której korzystasz:
echo $this->db->version();
$this->db->last_query();
Zwraca ostatnie zapytanie, jakie zostało uruchomione (samo zapytanie, nie rezultat). Przykład:
$str = $this->db->last_query();
// Daje: SELECT * FROM jakastabela....
Te dwie funkcje pomagają ułatwić proces pisania poleceń typu INSERT i UPDATE.
$this->db->insert_string();
Ta funkcja upraszcza proces pisania zapytań dodawania do bazy danych. Zwraca poprawnie sformatowane zapytanie SQL typu INSERT. Przykład:
$data = array('name' => $name, 'email' => $email, 'url' => $url);
$str = $this->db->insert_string('nazwa_tabeli', $data);
Pierwszy parametr jest nazwą tabeli, kolejny natomiast tablicą asocjacyjną z danymi, które mają zostać dodane. Powyższy przykład daje zapytanie:
INSERT INTO nazwa_tabeli (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com')
Uwaga: Wartości są automatycznie escapowane, powstaje więc bezpieczniejsze zapytanie.
$this->db->update_string();
Ta funkcja upraszcza proces pisania zapytań aktualizacji do bazy danych. Zwraca poprawnie sformatowane zapytanie SQL typu UPDATE. Przykład:
$data = array('name' => $name, 'email' => $email, 'url' => $url);
$where = "author_id = 1 AND status = 'active'";
$str = $this->db->update_string('nazwa_tabeli', $data, $where);
Pierwszy parametr jest nazwą tabeli, kolejny jest tablicą asocjacyjną z danymi, które mają zostać zaktualizowane, natomiast trzeci parametr jest klauzulą "where" dla zapytania. Powyższy przykład daje zapytanie:
UPDATE nazwa_tabeli SET name = 'Rick', email = 'rick@example.com', url = 'example.com' WHERE author_id = 1 AND status = 'active'
Uwaga: Wartości są automatycznie escapowane, powstaje więc bezpieczniejsze zapytanie.