Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][MySQL] Brak pewności co do zapytania
Forum PHP.pl > Forum > Przedszkole
b_chmura
Dzień dobry

Proszę Państwa zrobiłem takie zapytanie i nie jestem pewien czy sprawuje sie tak jakbym chciał:

Zapytanie:
  1. SELECT `login` FROM `USER` WHERE `login` = '$new_usr' AND (`active` = '1') OR (`active` = '0' AND `data` + 172800 > '$now')


Zamiar:

Jeśli login jest poprawny i konto zostało aktywowane (active = 1) mysql_num_rows ma się równać 1
LUB
Jeśli login jest poprawny, konto nie zostało aktywowane ale data rejestracji nie jest starsza jak dwa dni (i więcej) mysql_num_rows ma się równać 1

Jestem trochę zmęczony i nie potrafię sobie tego wyobrazić.

dzięki za pomoc
Wieviór
Zrobiłbym tak:

  1. SELECT `login` FROM `USER` WHERE `login` = '$new_usr' AND ((`active` = '1') OR (`active` = '0' AND `data` + 172800 > '$now'))


Chociaż nie wiem czy w SQL'u taka metoda z tymi nawiasami jest poprawna, ale chyba tak.

Wcześniej miałeś:
Jeśli login jest poprawny i jest aktywny albo jeśli nie jest aktywny, ale data rejestracji spoko.

Przez co login mógł być niepoprawny, a i tak, pod warunkiem, że był nie aktywny i data rejestracji spoko, masz 1.
b_chmura
ostatecznie zapytanie wygląda tak:

  1. .
  2. SELECT `login` FROM `USER` WHERE `login` = '$new_usr' AND ((`active` = '1') OR (`active` = '0' AND `data` - '$now' > 172800))
  3. .


dzięki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.