Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 17.12.2013 Ostrzeżenie: (0%)
|
witam,
jestem początkujący w PHP, natomiast mam doswiadcenie w innych językach programowania, także nie jestem pewien, czy będę się posługiwał językiem PHP-owym. Potrzebuję napisać funkcję/procedurę, która będzie przyjmowała jeden parametr - nr_osoby. Skrpt mawylosowaćz bazy dowolną osobę, która jeszcze nie była wylosowana i przy tej osobie zapisać, że jest już wylosowana. Czyli logika miałaby być taka (trochę po Oracle-owemu); select nr_osoby from osoby into v_wylosowana_osoba where wylosowany='N' and nr_osoby != :parametr_nr_osoby /* to po mysql-owemu*/ ORDER BY RAND() LIMIT 1 ; update osoby set wylosowa='Y where nr_osoby=v_wylosowana_osoba; commit; if v_wylosowana_osoba not null then return v_wylosowana_osoba ; else return "już wszyscy wylosowani"; end if; Proszę o pomoc. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 17.12.2013 Ostrzeżenie: (0%)
|
Od razu lepiej (IMG:style_emoticons/default/smile.gif)
Dziękuję. Już był o ogródku, już witał się z gąską. Dodałem parę warunków i znowu schody ;-(
Nie bierz integerów w '' ani "", $_GET w zapytaniu bezpośrednio = sql incjection Jak nie biorę integerów w '' ani "" to nie działa. Ale po dodaniu warunków, jak biorę w '', to też nie działa. Zapytanie z warunkami, które zwraca wartość w MySQL:
W php:
Błędy: *) wersja, gdy parametr jest bez '' - and para !=".$_q1." You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and para != and wylosowany =0 and wylosowany != ORDER BY rand() LIMIT 1' at line 3 *) wersja, gdy parameter jest w '' - and para !='".$_q1."' (oczywiście we wszystkich wystąpieniach). Wylosowany numer to - - ! Czyli wartości $r_wylosowana_osoba['nr'] i $r_wylosowana_osoba['imie'] mają null. Jak zrobię : $q1 = $_GET['p1']; echo $q1; zwraca mi wartość z parametru. W czym problem? |
|
|
|
malinowy Skrypt do losowania bez powtórzeń -jak 17.12.2013, 19:10:05
Kshyhoo To raczej MySQL a nie PHP. Losowanie z bazy (tu lo... 17.12.2013, 20:02:45
malinowy Cytat(Kshyhoo @ 17.12.2013, 20:02:45 ... 17.12.2013, 22:21:04
Kshyhoo A gdzie tu PHP? Wszystko zrób po stronie MySQL. Pr... 17.12.2013, 22:39:57
malinowy wydaje mi się, że w MySQL mam to obsłużone, bo
[S... 18.12.2013, 10:14:08
Turson [PHP] pobierz, plaintext $q_wylosowana_osoba = ... 18.12.2013, 10:20:52
Kshyhoo Zmienne w zapytaniu w pojedyncze ciapki, czyli ... 18.12.2013, 15:27:40 
malinowy Cytat(Kshyhoo @ 18.12.2013, 15:27:40 ... 18.12.2013, 18:59:37
Kshyhoo Żeby "zobaczyć", co PHP chce pobrać z My... 18.12.2013, 19:04:13
malinowy [PHP] pobierz, plaintext $_q1 = $_GET['p1'... 18.12.2013, 20:54:32
Kshyhoo A nawiązujesz połączenie z bazą danych? 18.12.2013, 20:56:55
Turson Wykonujesz zapytanie ale nie pobierasz wyników... ... 18.12.2013, 21:10:01 
Turson Cytat(Turson @ 18.12.2013, 21:10:01 )... 18.12.2013, 21:30:29 
malinowy Cytat(Turson @ 18.12.2013, 21:30:29 )... 18.12.2013, 21:41:55
malinowy najpierw mam
[PHP] pobierz, plaintext <?php re... 18.12.2013, 21:15:31 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 16:12 |