![]() |
![]() |
![]()
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: Zarejestrowani Postów: 17 Pomógł: 3 Dołączył: 2.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Moze nie podwojna - przesadzilem ;-) Ale dodatkowa czasami :-)
Wersja 1 - tylko walidacja. <?php // Walidacja //tylko liczby calkowite if (preg_match('/[^0-9]/',$_GET['ilosc'])){ echo 'Bledna ilosc'; exit(); } //j.w. if (preg_match('/[^0-9]/',$_GET['id_produktu'])){ echo 'Bledne id produktu'; exit(); } //ciapki z przyzwyczajenia ;-) $v_sql="UPDATE produkty SET ilosc='{$_GET['ilosc']}' WHERE id_produktu='{$_GET['id_produktu']}'"; $o_db->Execute($v_sql); ?> w efekcie,jesli user poda cos co nie jest liczba calkowita (np . ilosc - 'xyz@cos', to program przerwie sie na etapie walidacji. I ilosc produktu nie zostanie zmieniona. Jesli jednak bysmy poprzestali np. na intval , bez walidacji,to moglibysmy zaktualizowac blednie dane: Wersja 2 - samo intval <?php //nasza bledna dana (zyz@cos) zamieni sie na 0 - co przestawi ilosc produktu na zero $_GET['ilosc']=intval($_GET['ilosc']); $_GET['id_produktu']=intval($_GET['id_produktu']); $v_sql="UPDATE produkty SET ilosc={$_GET['ilosc']} WHERE id_produktu={$_GET['id_produktu']}"; $o_db->Execute($v_sql); ?> Wiec zeby uniknac powyzszego problemu, pewnie przed intval dodajesz podobna walidacje - czyli mamy i walidacje i konwersje ;-) W sumie to nie tak duzo wiecej - a pewnie u ciebie rzutowanie jest we krwi jak u mnie ciapki ;-)wiec generalnie zaden problem jak sie dobrze przyjrzec ;-) Mysle - ze w tym przypadku i ciapki(u mnie) i intval( u ciebie) sa zbedne - ale co sila przyzwyczajenia to sila przyzwyczajenia ;-) :-) Pozdrawiam, Kacper |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 19:42 |