16.07.2014 Views

CodeIgniter. Zaawansowane tworzenie stron w PHP - Helion

CodeIgniter. Zaawansowane tworzenie stron w PHP - Helion

CodeIgniter. Zaawansowane tworzenie stron w PHP - Helion

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Rozdzia 4. Sterowniki systemu do obsugi bazy danych 127<br />

Tabela 4.1. Metody zabezpieczajce dane<br />

Metoda Opis Przykad<br />

$this->db->escape()<br />

$this->db->escape_str()<br />

$this->db->escape_<br />

like_str()<br />

Odpowiedni tylko dla cigów<br />

znakowych<br />

Odpowiedni dla wszystkich<br />

danych, bez wzgldu na ich typ<br />

Odpowiedni dla cigu znakowego<br />

wykorzystanego jako parametr<br />

w zapytaniach z uyciem sowa<br />

kluczowego LIKE<br />

$Sql = "INSERT INTO tabela<br />

(tytul) VALUES (".$this-><br />

db->escape($Tytul).")";<br />

$Sql = "INSERT INTO tabela<br />

(tytul) VALUES('".$this-><br />

db->escape_str($Tytul)."')";<br />

$Tytul = '20% upustu';<br />

$Sql = "SELECT id FROM<br />

tabela WHERE tytul LIKE<br />

'%".$this->db->escape_like_<br />

str ($Tytul)."%'";<br />

Bezpieczne zapytania (query)<br />

Zastosowanie tego typu zapyta pozwala na zapewnienie wikszego bezpieczestwa<br />

aplikacji, poniewa programista nie musi pamita o sprawdzaniu danych wejciowych.<br />

Sterownik bazy danych <<strong>stron</strong>g>CodeIgniter</<strong>stron</strong>g>a zapewni odpowiednie filtrowanie danych (listing<br />

4.11).<br />

Listing 4.11. Tworzenie zapytania wizanego<br />

<br />

}<br />

$this->db->query($Zapytanie, $Parametry);<br />

Metoda query() przyjmuje w tym przypadku dwa parametry. Pierwszym jest zapytanie<br />

do bazy danych wraz ze znakami zapytania (?) w miejscach, w których powinny si<br />

znale konkretne wartoci. Drugim parametrem jest tablica z tymi wanie wartociami.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!