Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z if
Forum PHP.pl > Forum > Przedszkole
meehow18
Witam, mam problem lub nie wiem jak to napisać.
Chce sprawdzić czy owy user istnieje już w bazie.
  1. $qwy=mysql_query("SELECT * FROM usr WHERE login = '$login'");
  2. if(!$qwy) {
  3. echo 'a';
  4. }
  5. else
  6. {
  7. echo 'b';
  8. }


Jeśli przed if ! to wiadomość jest b jeśli nie będzie ! to wiadomość jest a ;]
niby logiczne, ale jeśli wpisze nawet dobre dane ze istnieje lub nie istnieje to odpowiedz jest taka sama.
nospor
No i teraz zagladamy do manuala
http://pl2.php.net/mysql_query
i czytamy:
Cytat
mysql_query() zwraca identyfikator wyniku (lub FALSE w przypadku niepowodzenia) jedynie dla zapytań typu SELECT, SHOW, EXPLAIN i DESCRIBE. Dla innych zapytań SQL mysql_query() zwraca TRUE lub FALSE informując czy zapytanie zakończyło się sukcesem czy też nie. Jeśli nie została zwrócona wartość FALSE to znaczy, że zapytanie było prawidłowe i może być wykonane przez serwer. Nie mówi natomiast nic o liczbie przetworzonych lub zwróconych wierszy. Jest również możliwe, że zapytanie zostanie wykonane poprawnie, nie przetwarzając lub zwracając żadnych wierszy.


Cytat
Przyjmując, że zapytanie się powiodło, można użyć mysql_num_rows() by uzyskać informację o liczbie wierszy zwróconych w instrukcji
blahy
na razie wykonal;ez zapytanie za pomoca mysql_query. teraz mozesz sprawdzic ile rekordow zwrocilo:
if($num=mysql_num_rows($qwy)==1) {
//znaleziono uzytkownika
} else {
//nie znaleziono
}

edit: spozniony smile.gif
everth
Sprawdź tak:
  1. $qwy=mysql_query("SELECT * FROM usr WHERE login = '$login'");
  2. if(!mysql_result($qwy)) {
  3. echo 'a';
  4. } else {
  5. echo 'b';
  6. }
meehow18
Cytat(blahy @ 26.07.2010, 18:03:55 ) *
na razie wykonal;ez zapytanie za pomoca mysql_query. teraz mozesz sprawdzic ile rekordow zwrocilo:
if($num=mysql_num_rows($qwy)==1) {
//znaleziono uzytkownika
} else {
//nie znaleziono
}

edit: spozniony smile.gif


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sms\reg.php on line 20
Cytat(everth @ 26.07.2010, 18:05:33 ) *
Sprawdź tak:
  1. $qwy=mysql_query("SELECT * FROM usr WHERE login = '$login'");
  2. if(!mysql_result($qwy)) {
  3. echo 'a';
  4. } else {
  5. echo 'b';
  6. }


Warning: Wrong parameter count for mysql_result() in C:\AppServ\www\sms\reg.php on line 21
a

mhm ;D

I poradziłem sobie sam tongue.gif

$qwy=mysql_query("SELECT * FROM usr WHERE login = '$login'");
$num_rows = mysql_num_rows($qwy);

if($num_rows) {
echo 'a';
}
else
{
echo 'b';
}
everth
Masz kod błędu - jedna poprawka:
  1. $qwy=mysql_query("SELECT * FROM usr WHERE login = '$login'");
  2. if ($qwy) {
  3. if(!mysql_result($qwy)) {
  4. echo 'a';
  5. } else {
  6. echo 'b';
  7. }
  8. }

Tak trudno dopisać jeden warunek więcej?
blahy
przeciez to jest moj kod tylko nie porownujesz do 1 (a powinienes) winksmiley.jpg
everth
Nie śledzę całego wątku tongue.gif. A co przyrównywania to w twoim kodzie ma sens - ale u mnie to bazuje na tym czy funkcja mysql_result lub qwy zwróci false (choć w zasadzie powinienem przyrównywać ściśle, mea culpa).
blahy
Ja odpowiadalem na post meehow18, a Twoj sie dodal w miedzyczasie. Tez nie sprecyzowalem. To tak zeby juz wszystko bylo jasne 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.