Pogledajte određenu poruku
Staro 24. 05. 2012.   #8
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

mysql_real_escape_string() je funkcija koja radi escaping specijalnih znakova uz proveru enkodinga, tako da ti garantuje da specijalni znaci nece zeznuti upit kad ga kreiras u obliku SQL stringa. To je sasvim sigurna metoda ako pazljivo programiras i znas sta radis.

S druge strane kad koristis prepared statements preko PDO ili mySqli extenzija onda ne moras da brines o escape-ovanju podataka, jer se postupak kreiranja upita sastoji iz 2 koraka: prvo se kompajlira SQL, pa se tek onda prosledjuju podaci. Tako drajver za bazu zna koji tip podataka ocekuje i ako mu posaljes pogresan bacice gresku. To je zgodnije za rad i sigurnije (ne zato sto drugi metod ne radi, nego u smislu da su manje sanse da nesto previdis).

Naravno i sa prepared statements mozes da pises nesigurne upite, zato je bitno da proucis putstvo i shvatis mehaniku kako to radi. Kad koristis apstrakcije iz frameworka onda si u problemu jer je ta mehanika sakrivena od tebe i nemas pojma sta se desava, mozes samo da se nadas da je onaj koji je to pisao znao sta radi... ali je zato lakse za rad, pa ti sam onda odmeris kojim putem zelis da ides...
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat