Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Aktywacja konta przy rejestracji
hunter1988
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 31.05.2013

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


Wszystko powinno działać a gdzieś jest mały błąd

  1. public function activation($kod)
  2. {
  3. $sql_check = "SELECT * FROM `users` WHERE `kod`='$kod' and `aktywacja`='1'";
  4. $sql_update = "UPDATE `users` SET `aktywacja`='1' WHERE `kod`='$kod' and `aktywacja`='0'";
  5.  
  6.  
  7. $stmt = $this->pdo -> exec($sql_check);
  8.  
  9. if($stmt > 0)
  10. {
  11. echo "Aktywowałeś swoje konto już wcześniej";
  12. }
  13. else
  14. {
  15. $this->pdo -> exec($sql_update);
  16. }
  17.  
  18.  
  19. }
  20.  


Połączenie z bazą jest, zapytanie $sql_update działa na 100% bo wklepywałem je bez warunków i aktywuje konto, coś jest nie tak z $sql_check.
Połączenie UPDATE działa, a już np w warunkach if nie, w tym przykładzie nie wykona się NIC, nie wyświetli się żaden błąd sql ani php, składnia więc jest "teoretycznie ok", zapytanie $sql_check na bank nie działa jak powinno (szukałem literówek i nic).

Powinno być tak skrypt sprawdza czy konto z danym kodem ma już aktywację (w bazie danych 1) i to jest warunek, funkcja exec sprawdza ilość wyników zapytania, w tym przypadku nawet gdy podaje kod i w bazie jest 0 to zawsze zwraca wynik 0 dla zapytania $sql_check, no ok ale skoro dało 0 to powinno wykonać się else czyli aktywacja konta, podczas gdy ten zabieg nie wykonuje się, mimo że $this->pdo -> exec($sql_update); działa.

Na pewno jest to jakaś głupota, ale siedzę przy tym i siedzę i nie mogę znaleźć błędu...
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.08.2025 - 00:10