@Ginden: Zwykle używa się prepeared statements jako rozwiązania typu silver bullet. Niestety PS ma tę wadę że jeśli execution plan zostanie przygotowany od razu to indeksy filtrowane nie zostaną użyte a i ogólnie plan może nie być optymalny. SQL Server 2008 na pewno ma takie smaczki, postgres (chyba) nie, nie jestem pewien co u Oracle. Oczywiście kręcenie wydajności to jest już wyższa matematyka więc nam wystarcza to że nie należy
@plushy: Słusznie, sam znam podobne problemy, ale w swojej pracy miałem je w zasadzie dwa razy, uznałem je za dość egzotyczne i rozwiązałem je przez stored procedure z sp_executesql. Jak często się trafiają w prawdziwym życiu?
@plushy: BTW - wiesz, że SQL Server wykonuje czasem autoparametryzację zapytań i to jest przyczyną tego, że taka optymalizacja czasem działa (bo inaczej byłoby to równoważne do OPTION RECOMPILE).
@Ginden: Wiem że istnieje ale szczegóły są dla mnie mgliste, niestety temat zbyt skomplikowany by go dobrze znać pracując przy tym z doskoku. Jeśli w końcu znajdę robotę w bazach danych to może wtedy.
http://forum.itunix.eu/viewtopic.php?id=415
#sql #sqlinjection #poradnik #ciekawostki
źródło: comment_tyZJNOsq78uqG0aUPHSWPXPD1oxHLMp3.jpg
Pobierz$usrname = mysqli_real_escape_string($_POST['usrname']);źródło: comment_8EgzcoizLILQAw3VD5M7310UZqB819Lq.jpg
Pobierzsp_executesql. Jak często się trafiają w prawdziwym życiu?http://www.benjaminnevarez.com/2010/06/auto-parameterization-in-sql-server/
Aczkolwiek trzeba się przyzwyczaić że odpowiedzią na każde pytanie jest "być może" i że trzeba wszystko w kółko sprawdzać.