dj.drezyna Posted September 19, 2013 Report Share Posted September 19, 2013 Jak w PDO pobrać całe zapytanie, które po podpięciu parametrów jest bezpieczne do wykonania w postaci jakiej jest, czyli normalnie w formie tekstu ale już z zabezpieczonymi i unieszkodliwionymi znakami. Jednym zdaniem już po spreparowaniu wartości. Czy jest to pole klasy PDOStatement: readonly string $queryString; A jeśli tak, to kiedy zawiera żądaną wartość łańcucha znaków odpowiadającemu przygotowanym wartościom przy pomocy np. bindValue? Bo nie ma tu metody typu getTextStatement()... Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
sazian Posted September 19, 2013 Report Share Posted September 19, 2013 nie da się do bazy jest osobno wysyłane zapytanie oraz wartości bindowane - nie są one podstawiane Link to comment Share on other sites More sharing options...
dj.drezyna Posted September 19, 2013 Author Report Share Posted September 19, 2013 To w takim razie jak budować jakąś klasą zapytania tak by przekazując jako podzapytanie miało zfiltrowane dane? Tak żeby nie były podatne na wstrzyknięcie SQL? Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
Stelma Posted September 20, 2013 Report Share Posted September 20, 2013 Ja u siebie mam 2 odzielne klasy. Bind - Przekazuje jej dane do podpięcia, Overlay - Nakładka na pdo Gdy wywołuje metode "select" to przekazuje jej zapytanie sql i obiekt klasy Bind. Łot cała filozofija. Link to comment Share on other sites More sharing options...
dj.drezyna Posted September 22, 2013 Author Report Share Posted September 22, 2013 No fajnie, dzięki za odpowiedź. Jak byś jeszcze mógł podać jak z tych klas się korzysta. Powiedzmy, że chcę zrobić zapytanie: SELECT nazwa FROM tabela WHERE id IN ( SELECT tab.id FROM tab WHERE tab.id < tabela.id AND imie LIKE %$_GET['bardzo_zla_zmienna']% ) Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
Stelma Posted September 30, 2013 Report Share Posted September 30, 2013 Standardowo czyli $sql = 'SELECT * FROM people WHERE name LIKE :name'; $bind = \Database\OverlayBind(); $bind->add(':name', '%' . $name . '%', \Database\OverlayBind::PARAM_STR); $peoples = \Database\Overlay::getInstance()->select($sql, $bind); Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.