Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL + PHP] Wyszukanie rekordu
MagnuM
post 25.03.2005, 14:14:56
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

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


Witam. Wiem, że temat zapewne jest dość banalny, ale szukam odpowiedzi od wczoraj, próbuje, kombinuje jak tylko mogę i nie wychodzi. Piszę wstępny system rejestracji użytkowników. Początki już za mną, teraz przyszedł czas na sprawdzenie, przed wpisaniem do bazy rekordu, czy baza nie zawiera już danego użytkownika (o tym samym nicku). Jeżeli zawiera to wyświetlić odpowiedni komunikat, jeżeli nie to zwyczajnie dodać rekord do bazy.

  1. <?php
  2. $nick = $_POST['nick'];
  3. $query = mysql_query(&#092;"SELECT nick FROM user WHERE nick = '$nick'\");
  4. if ($query) 
  5. { echo(&#092;"<center>W bazie danych jest już użytkownik o nicku <b>\"$nick\"</b>.<br>Proszę wybrać inny nick!</center>\");
  6. } else {
  7.  $db_connect = mysql_connect($db_host, $db_user, $db_password) or die('<center><br>Nastąpiły nieoczekiwane problemy w połączeniu z bazą danych<br>Proszę spróbować jescze raz!</center>');
  8.  mysql_select_db($db_baza, $db_connect) or die('<center><br>Nastąpiły nieoczekiwane problemy w połączeniu z bazą danych<br>Proszę spróbować jescze raz!</center>');
  9.  
  10.  $nick = $_POST['nick'];
  11.  $haslo = $_POST['haslo'];
  12.  $query = mysql_query(&#092;"INSERT INTO user (id, nick, pass) VALUES ('','$nick','$haslo')\");
  13.  
  14.  mysql_close($db_connect);
  15.  
  16. ?>


Z mojego toku myślenia wynika, że zmienna $query (ta która odpowiada za wyszukanie rekordu) powinna przyjąć wartośc True, lub False. No więc dodałem instrukcję warunkową 'if ($query) (...)' - czyli jeżeli znajdzie podany wcześniej w formularzu nick, to wyświetli komunikat z informacją, że dany użytkownik istnieje już w bazie. Natomiast jeżeli przyjmie wartośc False - czyli nie znajdzie użytkownika, to rejestracja przebiegnie dalszym tokiem rozwoju i użytkownik zostanie zarejestrowany.

Mógłby mi ktoś przedstawić jak to wkońcu jest ?
Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
nospor
post 25.03.2005, 14:21:59
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




hihi, oj usmialem się. Najpierw wykonujesz zapytanie do bazy, a dopiero jak to zapytanie się wykona to się łączysz z bazą. To tak jakbyś zapytał się pani na hawajach(telepatycznie) czy jest ladna pogoda, a dopiero potem do niej zadzwonił, aby powiedzmy zapytać o coś jeszcze.

Poważnie:
Najpierw laczysz sie z bazą a potem wykonujesz zapytanie. W wyniku zapytania otrzymasz takie coś, co jest używane w innych komendach, aby otrzymac dane z zapytania (poczytaj:http://pl.php.net/mysql_query);
jesli cos takiego: $num_rows = mysql_num_rows($query); bedzie wieksze od zera to zanczy ze znalazl goscia


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Skobi
post 25.03.2005, 14:33:59
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


to powinno zadziałać:

  1. <?php
  2.  
  3. $db_connect = mysql_connect($db_host, $db_user, $db_password);
  4. mysql_select_db($db_baza, $db_connect);
  5.  
  6. $query = mysql_query(&#092;"SELECT nick FROM user WHERE nick = '$nick'\");
  7. if ( mysql_num_rows( $query ) > 0 )
  8. {
  9. echo &#092;"user istnieje\";
  10. }
  11. else
  12. {
  13. $query = mysql_query(&#092;"INSERT INTO user (id, nick, pass) VALUES ('','$nick','$haslo')\");
  14. }
  15.  
  16.  
  17. ?>
Go to the top of the page
+Quote Post
MagnuM
post 25.03.2005, 14:36:00
Post #4





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

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


guitar.gif guitar.gif guitar.gif

Nie no bardzo Cie proszę... miałem dodać, żeby się głośno nie śmiać jak jest coś głupiego. No tak, prosta sprawa.
W każdym razie dzięki smile.gif
Pozdrawiam. cool.gif


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 15:46