![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 2 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, mam nietypowy (chyba) problem (IMG:style_emoticons/default/wink.gif)
W swoim modelu mam funkcję do obsługi wyszukiwarki, która przyjmuje tablicę słów do wyszukania w bazie. W całym modelu używam PDO i funkcji prepare() oraz execute() więc chciałbym również i w tym przypadku je zastosować, ponieważ zależy mi na bindValue(). Problem w tym, że zapytanie SELECT konstruuję w taki sposób:
Mam nadzieję, że do tej pory wszystko jasne. Teraz chciałbym dla $keyword zastosować bindValue(), żeby mi jakiś życzliwy hakier nie próbował zrobić zastrzyku. No i mam problem. Bo w miejsce '%$keyword%' nie mogę dać '%:keyword%'. I jestem w kropce (IMG:style_emoticons/default/tongue.gif) Mogę oczywiście dać PDO::quote() albo zwykłe addslashes() dla $keyword, ale jak już używam PDO::prepare(), to dobrze by było przy tym zostać w każdej funkcji modelu. Pozdrawiam Ten post edytował Piotrbaz 9.03.2013, 12:54:25 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ale może dać :keyword i bindować
'keyword' => '%'.$keyword.'%' o ile dobrze zrozumiałem problem. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 2 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Hm nie bardzo wiem, gdzie umieścić taką 'konstrukcję'. Możesz rozwinąć razem z bindowaniem ? (IMG:style_emoticons/default/tongue.gif) Może być na ogólnym przykładzie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 2 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
A spoko (IMG:style_emoticons/default/wink.gif) Nie wiedziałem, że mogę jako drugi argument bindValue() podać cokolwiek innego niż samą zmienną. I że mogę się odwołać do $keyword spoza foreach (IMG:style_emoticons/default/snitch.gif)
Seems legit. Dzięki. Ten post edytował Piotrbaz 9.03.2013, 16:24:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:18 |