![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 8.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wiatm!
Za pomocą funkcji foreach, otrzymuję tablice (niewiem ilu elementową) i mam takie pytanko jak pobrać z bazy danych te wiersze w których $id jest równa wartością z tablicy? Np. funkcja zwróci mi tablicę Więc chcępobrać z bazy wiersze w których
Jak ma poprawnie być zbudowana taka pentla? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Oczywiscie, ze jesli wykonasz po prostu echo na zmiennej to dostaniesz bez ciapkow zewnetrznych. Tak, moj blad,przepraszam.Ale apkc uzyl jej w konkretnym kontekscie - w zapytaniu SQL, gdzie zmienna BYLA OBJETA APOSTROFAMI ! Cytat >To ze ty tak robisz, nie znaczy ze inni tak robią. Gdy ja wkladam do bazy liczbe 5 to wkladam do bazy liczbe 5 a nie >tekst '5'. No ale w ktorym miejscu ja napisalem, ze dane wkladam do zapytania jak leci? Jesli to ma byc liczba, to albo ją waliduje albo rzutuje na liczbe i do zapytania wkladam liczbe a nie 'tekst'.Proponuje abys zapoznal sie z dokumentacja php nt. danych wejsciowych - ktore sa stringiem , mimo ze jest to liczba "z wygladu" - krotkie info jest chocby przy is_int() - http://php.net/manual/en/function.is-int.php . Jesli dane pochodza z pliku - takze beda stringiem. Mozna je przepuszczac przez intval() , ale tez nie jest to idealne rozwiazanie. Nie sadze, aby apkc liste id mial wpisana z palca w skrypcie - jest to malo prawdpodobne, raczej pobieral je z jakiegos wejscia - i jesli nie bylo to np. z bazy - to byly to stringi. Poza tym , ufanie ze dane wejsciowe zawieraja liczby (czyli sa calkowicie bezpieczne), bo ty tak chcesz , jest naiwne i wprowadza dosc powazne zagrozenia. Wiec zanim bedziesz ludzi krytykowac za restrykcyjne walidowanie danych - zastanow sie glebiej. To ze Ty podchodzisz "lajtowo" do tematu , nie oznacza ze inni tak robia... Chodzi o to, ze dobrze do zapytania jak cos jest liczbą to nalezy to wkladac jako liczbe a nie jako tekst. To uczy dobrych nawyków na później Cytat Wiec zanim bedziesz ludzi krytykowac za restrykcyjne walidowanie danych - zastanow sie glebiej. To ze Ty podchodzisz "lajtowo" do tematu , nie oznacza ze inni tak robia... A gdzie jak cie krytykowalem za walidacje danych? Ja cie krytykowalem za wkladanie liczb jako tekst (IMG:style_emoticons/default/smile.gif) Cytat Te ciapki nie sa z nadmiaru sily w palcach - tylko z przyzwyczajenia. Zabezpieczenie przed sql injection jesli nie korzystamy Conajmniej dziwne podejscie przepusczac liczbe przez mysql_escape_string. Liczb to liczba, zrzutuj na liczbe i nie bawisz sie w zadne escapowanie.
z prepare/execute wymaga ich - oczywiscie w polaczeniu z mysql_real_escape_string/addslashes. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 10:12 |