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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!