![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 21.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam następujący problem. Mam bazę danych w której jest tabela KSIAZKI. Chcę napisać skrypt wykorzystujący instrukcje przygotowawcze do odczytu zawartości tabeli. Skrypt ma znaleźć odpowiednie wyrażenie ($wyrażenie) w polu wskazanym przez użytkownika ($metoda_szukania). W całej imprezie chciałbym wykorzystać operator LIKE zamiast operatora równości. I tu właśnie pojawia się problem. Skrypt w zaprezentowanej poniżej postawi wykonuje się bez żadnego błędu jednak nie zwraca żadnych wyników. Jedyną informację jaką otrzymuje to: „Znaleziono: 0”. Oczywiście dane wpisuje poprawne. Nie mam pojęcia gdzie jest błąd. Wczoraj siedziałem nad tym cały dzień i nic. Być może to jakaś pierdoła której po prostu nie widzę. Szukałem rozwiązania w sieci jednak nic nie znalazłem. Będą wdzięczny za pomoc. Dopiero uczę się tego wszystkiego więc proszę o wyrozumiałość ![]() Raczej to niepotrzebne ale zamieszczam też kod formularza. --==FORMULARZ==--
--==SKRYPT PHP==--
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat
Bindujesz parametr po nazwie, a w zapytaniu nie masz jej określonej - w przypadku ? bindujemy po numerze wystąpienia. Jakbyś chciał zbindować po nazwie to musiałbyś umieścić ją w zapytaniu np.
Przy tym wydaje mi się że nie możesz bindować kolumn - tylko wartości. Więc where ? liki ? chyba nie zadziała (wiem że ograniczenie odnosi się do kolumn, więc może się okazać że jednak można bindować kolumny po WHERE, nie chce mi się tego sprawdzać teraz). Ten post edytował everth 21.09.2010, 09:17:04 -------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 389 Pomógł: 141 Dołączył: 11.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak kolega wyżej napisał nie możesz bindować kolumny (where, order by itd).
Po co ci trim i addslashes na metodzie_szukania. To ty określasz jakie są metody szukania, a nie user, więc sprawdzaj czy user nie zmienił czegoś w kodzie: Kod $metody = array('autor','tytul','isbn');
if (in_array( $_POST['metoda_szukania'], $metody)) { $metoda_szukania = $_POST['metoda_szukania']; } else { $metoda_szukania = 'autor'; //lub inna ktora ma byc domyslna } |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 08:03 |