Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: weryfikacja email w bazie
Forum PHP.pl > Forum > Przedszkole
kosmos
Witam
Nie znalazłem tematu więc zakładam nowy

Otóż mam pytanie do znawców SQL

Jak można sprawdzić w tabeli bazy danych, czy email który użytkownik wprowadza przy rejestracji, znajduje się już w bazie questionmark.gif

Wysyłam zapytanie do bazy danych w taki sposób:
Kod
$podobne = mysql_query("SELECT *
                                           FROM osoba")
                                        or die ('Błąd zapytania');


i teraz sprawa while ...

zaczynając w ten sposób

Kod
while($pod = mysql_fetch_array($podobne))
                     {
                       if($pod['email']!==$email)     gdzie $email to zmienna do której zapisany jest email wysłany w formularzu
                       return false;
                        else
                      return true;
                     }
.
.
.


jeśli natrafię na pierwszy spełniony warunek to od razu zwróci mi sie false i wykona dalszy kod a z while wyjdzie ;/ co jest bezsensem



natomiast jesli zadam pytanie w ten sposób:

Kod
$podobne = mysql_query("SELECT *
                                           FROM osoba WHERE osoba.email=$email")
                                        or die ('Błąd zapytania');

no to jeśli zapytanie nie znajdzie takiego samego emaila jak wprowadził klient w pole formularza przy rejestracji to od razu wyświetli się komunikat "Błąd zapytania"

Poradźcie coś proszę ...
dr_bonzo
SELECT bez WHERE - jest bezsensu

OFFTOPIC:
takiego while'a pisze sie:

  1. <?php
  2. function czy_sie_powtarza()
  3. {
  4.  while (.... )
  5.  {
  6. if ( $email == $row['email'] )
  7. {
  8. return true;
  9. }
  10. }
  11. // za while
  12. return false;
  13. }
  14. ?>



Wracajac do tematu,
SQL: - najpierw wyprobuj SQLki bezposrednio na bazie, phpMyAdmin czy cos podobnego - czemu? bedziesz pisal zapytanie bez mozliwosci popelnienia bledu w php, jak to zapytanie bedzie ci dzialac to przenosisz je do php, jak tu nie dziala, tzn ze cos w php pomyliles (bo zaczynajac od php, nie wiesz czy masz zly SQL czy zly kod php budujacy ta SQLke), no i bezwglednie wyswietlaj (przynajmniej na razie, potem mozesz wylaczyc) bledy mysqla (robiac zapytanie bezposrednio na bazie- zawsze je otrzymasz).

Bo twoj SQL wyglada

  1. SELECT * FROM osoba WHERE osoba.email=a.gdzie@apostrofy.pl
  2.  
  3. -- zamiast
  4.  
  5. SELECT * FROM osoba WHERE osoba.email='a.gdzie@apostrofy.pl'
kosmos
Dzięki za zainteresowanie:)
Teraz już wszystko działa.
Pomogłeś smile.gif
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.