Bazy Danych - ciąg dalszy
14 July 2008
Comments
Własne zapytania SQL
$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 konfiguracjiWyświetlanie pobranych danych
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:<?php
$query = $this->db->query("SELECT * FROM tabela");
foreach ($query->result() as $row)
{
echo $row->pole1;
echo $row->pole2;
echo $row->pole3;
}
$query->num_rows() $query->num_fields()
Pozostałe metody CI
$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.
RkBlog
Comment article