![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 17.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chcę wyciągnąć dane z bazy i nie mogę sobie przypomnieć polecenia SQL aktualnie mam takie :
Teraz opiszę co chcę zrobić, a więc mam bazę o nazwie Library w niej mam kategorię books i z kategorii books chcę wyciągnąć dane książek które będą wyłoływane przez id po przez metodę GET czyli np. library.php?id=6 i wyrzuca książkę o id 6. Jak mam sformułować dobrze pytanie SQL, bo te co napisałem wyżej nie działa |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 17.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Problem jest oczywiście w ".id." tak pewnie zadziała: SELECT * FROM books WHERE id=$_GET['id']; Ale oczywiscie nie możesz w ten sposób tworzyć zapytań. Prosisz się wtedy o ataki sql Injection. Musisz $_GET['id'] przepuscić przez funkcje typu: strip_tags, htmlspecialchars, filter_var() Zapytanie wydaje sie ok, tylko zmienna powinna być czymś w stylu: Jak wrzucasz zapytanie z parametrem z GET koniecznie pamiętaj o przefiltrowaniu parametru najpierw! Ups, źle przepisałem na forum, oczywiście był tam znak $, lecz dalej nie działa... Co do wypowiedzi Pjotrek80, to zrobiłem nową zmienną z $_GET['id']; na $id, oczywiście będzie wszystko przepuszczonę przez htmlspecialchars. Już naprawiłem, problemem było to że nie zrobiłem pętli przy wyciąganiu danych z bazy Ale jeszcze mam małe pytanie, jak dopisać else do pętli ? tzn. jeśli ktoś wpiszę id którego nie będzie chciałbym aby wyrzuciło tekst "brak książki w bazie danych" próbowałem do bazy dopisać else ale nie działa Ten post edytował dareksbs 25.06.2013, 23:23:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 04:11 |