![]() |
![]() |
![]()
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ść (IMG:style_emoticons/default/winksmiley.jpg) . Raczej to niepotrzebne ale zamieszczam też kod formularza. --==FORMULARZ==--
--==SKRYPT PHP==--
|
|
|
![]() |
![]()
Post
#2
|
|
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 } |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 18:42 |