![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
W trakcie próby budowy serwisu pojawiają się przede mną kolejne przeszkody i problemy. Oto kolejny z nich: Mam Tabelę: Tabela "a" id | b | ---------------- 1 | 1 | 2 | 1 | 3 | 0 | 4 | 1 | Chcę stworzyć zapytanie do bazy, które będzie mi sprawdzało, czy w polu b tabeli a jest 1 czy 0. Oto co wydziergałem własnoręcznie:
Spodziewam się sporej krytyki, ale bardzo proszę kogokolwiek o merytoryczną dyskusję na ten temat.. Nie bez powodu temat jest w "przedszkolu" (IMG:style_emoticons/default/smile.gif) Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Do porownywania w php uzywa sie == a nie =
A na przyszlosc: Temat: Jak poprawnie zada pytanie No i czemu $check1['1'] ? Przeciez pobierasz B wiec ma byc B.... $check1['b'] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
No niby ok, dziękuję za naświetlenie sprawy, ale to nie rozwiązuje mojego problemu. Ponieważ skrypt dotyczy logowania w oparciu o sprawdzenie aktywności konta to poniżej przedstawiam całość skryptu. Korzystałem z podanego przez Ciebie poradnika, wszystkie zmienne zwracają odpowiednie wyniki tzn. np $check daje int(1) itd.
Tymczasem loguje użytkowników zarówno z 1 w polu 'active' jak i z 0 w tym polu.
Przepraszam za wątpliwą przejrzystość mojego kodu.. (IMG:style_emoticons/default/smile.gif) Ten post edytował artkow00 8.11.2013, 13:31:52 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
if($check1['active'] ==0) {
Z tego kodu wynika, ze logujesz usera jak ma ACTIVE = 0.... Nie powinno byc 1? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jesli to:
$check = mysql_query("SELECT `active` FROM `active` WHERE `id` = '".$row['id']."'"); zwraca blad lub brak rekordu to porownujac to do 0 wlasnie zawsze bedzie ci logowac. Sprawdziles czy to zapytanie zwrca ci cos? Nie widzie w kodzie zadnego sprawdzania, wiec podejrzewam ze nie. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Jesli to: $check = mysql_query("SELECT `active` FROM `active` WHERE `id` = '".$row['id']."'"); zwraca blad lub brak rekordu to porownujac to do 0 wlasnie zawsze bedzie ci logowac. Sprawdziles czy to zapytanie zwrca ci cos? Nie widzie w kodzie zadnego sprawdzania, wiec podejrzewam ze nie. Sprawdzałem - zwraca. Nie ma sprawdzania w kodzie bo po sprawdzeniu usunąłem i doddałem suchy kod. Znalazłem rozwiązanie - okazało się być banalne: Zamiast: Potrzebowało: ... Dzięki za zainteresowanie postem (IMG:style_emoticons/default/smile.gif) Miłego dnia |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
(IMG:style_emoticons/default/facepalmxd.gif)
Jak mozesz pisac ze zwraca, a za chwile piszesz ze potrzebna byla inna funkcja. No tak, byla potrzebna inna funkcja, bo Twoja co miales, ci nie zwracala. I miales to sprawdzic, ale nie sprawdziles. Bo jak bys sprawdzil, to bys zobaczyl, ze jednak nie zwraca...... Ale nie, ty nadal twardo piszesz ze zwraca :/ Brak slow. Miales tak: $check1 = mysql_fetch_row($check); if($check1['active'] ==0) { A sprawdzenie polaga na czym takim $check1 = mysql_fetch_row($check); var_dump($check1['active']); if($check1['active'] ==0) { I od razu widac ze nie zwraca..... |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 5.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Napisałeś wcześniej (cytuję):
"Jesli to: $check = mysql_query("SELECT `active` FROM `active` WHERE `id` = '".$row['id']."'"); zwraca blad lub brak rekordu to porownujac to do 0 wlasnie zawsze bedzie ci logowac. Sprawdziles czy to zapytanie zwrca ci cos? Nie widzie w kodzie zadnego sprawdzania, wiec podejrzewam ze nie." Sprawdziłem zmienną $check czy coś zwraca zgodnie z Twoją sugestią i ZWRACA bo JEST 1 taki rekord. Za chwilę twierdzisz, że nie sprawdziłem zmiennej, zupełnie innej niż ta, o której wcześniej rozmawialiśmy! I jeszcze narzekasz, że to ja czegoś nie rozumiem. Cholera zdecyduj się, o której zmiennej chcesz rozmawiać i odnośnie której dajesz rady, a dopiero się awanturuj. Nie sprawdzałem var_dump($check1['active']); i gdybyś się o to zapytał to bym Ci powiedział, że nie sprawdziłem. Ale Ty zapytałeś czy sprawdziłem zapytanie $check = mysql_query("SELECT `active` FROM `active` WHERE `id` = '".$row['id']."'"); Więc nie rób ze mnie idioty, tylko przyznaj, że nie zauważyłeś błędu w moim skrypcie, czego broń boże nie mam Ci za złe - każdemu się zdarzy. Mimo wszystko dziękuję za pomoc, trochę mnie nakierowałeś. Pozdrawiam. |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dostales ode mnie linka do tematu, ktory mowi co i jak sprawdzac. Nie bede za kazdym razem ci pisal, ze masz sprawdzic to czy to. Jak sie pytam, czy sprawdziles zapytanie i wynik to mam to wlasnie na mysli. A wszystko w zgodzie z tematem do ktorego cie odeslalem.
Nawet jesli nie zrobiles sprawdzenia $check['active'], tylko zrobiles sprawdzenie samego $check to wowczas tez by bylo widac, ze owszem zwraca rekord, ale z innym indeksem niz ty sie do niego odwolujesz. Naprawde wszystko ale to wszystko trzeba podawac na tacy? Samemu juz nie mozna chwile pomyslec? Nie mozna napisac poprostu: sprawdz? Trzeba podawac: sprawdz to, sprawdz to i jeszcze sprawdz to.... W temacie miales tez info by wyswietlac wszystkie bledy. Ale tego nie zrobiles. Jakbys zrobil, to na ekranie bys mial wlasnie bledy, ktore od razu by wskazaly gdzie jest zle. Po to powstal ten temat, by nie trzeba bylo wszystkiego powtarzac za kazdym razem, ale i tak znajda sie tacy jak ty, ktorym trzeba wszystko palcem wskazac, bo samym sie nie chce doczytac prostych rzeczy, ktore mają czarno na bialym napisane |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 16:46 |