| --piotr-- |
Post
#1
|
|
Goście |
Uczac sie PDO trafilem na problem.
Otóz chce zadac zapytanie przez prepare/execute typu: SELECT * WHERE id = :id AND kolumna = :kolumna i teraz bindujac obie wartosci wszystko jest cacy. Kiedy warunki w zapytaniu chce generowac dynamicznie pojawia się problem. Załózmy ze w zaleznosci od innych zmiennych potrzebuje do powyzszego zapytania dodac kolejny warunek: SELECT * WHERE id = :id AND kolumna = :kolumna AND filtr = 1 Z mysql_query robilem to sklejając zapytanie w php. W pdo jest problem, poniewaz powyzsze zapytanie w takiej formie ( tzn. kolumna filtr ma stala wartosc '1') nie wykonuje się poprawnie. Jest na to jakis sposob? |
|
|
|
![]() |
| -Gość- |
Post
#2
|
|
Goście |
Podałem dokładnie jaki problem się pojawia. Przy doklejeniu do zapytania warunku ' AND filtr = 1' <-- dokładnie w takiej formie, baza odpowiada mi tak jakby całkowicie w warunku nie była uwzględniona kolumna filtr, (czyli zwraca dane z filtr = 2, 3, 5 itp)
Rozumiem ze takie zapytanie w prepare jest poprawne? SELECT * WHERE id = :id AND kolumna = :kolumna AND filtr = 1 Czyli ze nie wszystkie kolumny musze bindowac? W jaki sposób zrobić jeszcze jeżeli dynamicznie dopisany warunek tez chce bindowac? Dodatkowe IF w ktorych sa bindValue ? Bo jezeli binduje po :serial a tego :serial nie ma to wywala błąd. |
|
|
|
-piotr- [PDO] zapytanie SELECT a bindowanie 6.06.2014, 11:49:53
Turson Nikt nie broni ci tego skleić 6.06.2014, 11:52:18
nospor To moze pokaz jaki masz teraz kod, jak generujesz ... 6.06.2014, 11:52:33
Turson Nie trzeba bindować wszystkich. Jak bindować dodat... 6.06.2014, 12:06:47
Crozin Musisz dynamicznie zbudować zapytanie oraz listę p... 6.06.2014, 12:37:05
Gość Dzieki Crozin - nie wiedziałem, ze można bindowac ... 6.06.2014, 12:47:57
Crozin PDOStatement::execute traktuje wszystkie parametry... 6.06.2014, 13:32:12 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 08:34 |