Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][MySQL] Brak pewności co do zapytania
b_chmura
post
Post #1





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
-Wieviór-
post
Post #2





Goście







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.
Go to the top of the page
+Quote Post
b_chmura
post
Post #3





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

Ostrzeżenie: (0%)
-----


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

Ten post edytował b_chmura 11.09.2007, 16:35:40
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:19