Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetla błąd związany z bazą danych.
Forum PHP.pl > Forum > Przedszkole
Kszysiu
Witam.
Mam kod który jest systemem dodawania do znajomych.
działa on tak, że z get pobiera ID usera wyświetla informacje o nim, a jeśli wykryje jeszcze wartość add=1 to dodaje go do znajomych.
Jest to plik includowany, "$login" pochodzi z reszty strony i jest to login zalogowanego użytkownika.

  1. <?php
  2. if ($zalogowany=='') //sprawdza czy uzytkownik zalogowany
  3. echo "Jesteś nie zalogowany! Zaloguj się aby zobaczyć dane użytkownika"; //jesli nie to wyswietla stosowna informacje
  4. else //zaczyna sie wlasciwy skrypt jesli uzytkownik zalogowany
  5. {
  6. $query="SELECT * FROM users WHERE id=$_GET[user]"; //sciaga informacje o uzytkowniku z bazy
  7. $result=mysql_query($query); //to zrozumiale
  8. $num=mysql_numrows($result); //to tez
  9. if ($num>0) //warunek - jesli znalazl takiego kogos to wyswietla jego dane
  10. {
  11. $nickznaj=mysql_result($result,0,nick);
  12. echo 'Nick:'; echo $nickznaj; echo '<br />';
  13. echo 'Imie:'; echo mysql_result($result,0,imie); echo '<br />';
  14. echo 'Nazwisko:'; echo mysql_result($result,0,nazwisko); echo '<br />';
  15. echo "<a href=\"index.php?strona=uzytkownik&user="; //tu sie zaczyna tworzenie linka do dodawania do znajomych
  16. echo $_GET[user];
  17. echo "&add=1\">dodaj do znajomych</a>"; //tu konczy
  18.  
  19. if ($_GET[add]!= '') //jesli jest magiczna 1 to dodaje:
  20. {
  21. $query="SELECT * FROM friends WHERE nick1=$login && nick2=$nickznaj"; //pobiera z tablicy z friends czy te osoby maja juz siebie w znajomych
  22. $result=mysql_query($query);
  23. $num=mysql_numrows($result);
  24. if ($num=0) //jesli znalazl sie taki rekord to nic a jesli nie ma (czyli 0 to dodaje do bazy)
  25. {$query="INSERT INTO friends VALUES('','$login','$nickznaj')"; //zrozumiale
  26. mysql_query($query);
  27. }
  28. else
  29. {echo "już masz go w znajomych";}; // co sie dzieje jesli znalazlo taki rekord
  30. };
  31. }
  32. else
  33. {echo 'nie ma takiego użytkownika!';}; //co sie dzieje jesli nei znalazlo takiego ID
  34. };
  35. ?>


problem polega na tym, że jeśli naciskam żeby dodało to wyskakuje:


  1. Nick:Loginfgjhfg
  2. Imie:Imie
  3. Nazwisko:Nazwisko
  4. dodaj do znajomych
  5. Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\prog\uzytkownik.php on line 23
  6. już masz go w znajomych


(umieściłem to w "html" bo nie wiedziałem w czym to umieścić, jak źle to przepraszam)

co jest nie tak?... nie rozumiem tego błędu...sad.gif
pozdrawiam
Kszysiu
kadlub
  1. $query="SELECT * FROM friends WHERE nick1='$login' && nick2='$nickznaj'"; //pobiera z tablicy z friends czy te osoby maja juz siebie w znajomych
  2.  
  3. $result=mysql_query($query)or die(mysql_error());
  4.  
  5. $num=mysql_num_rows($result);

a tak sie nie pisze $_GET[user] tylko tak $_GET['user'] analogicznie z innymi
Kszysiu
$_GET[user] poprawilem wszedzie na $_GET['user']
i wywala sie w 6 linijce

EDIT:
zrobilem w 6 linijce z powrotem bez ' i działa tak samo jak na początku
kadlub
a wstawiłeś ten kod jaki podałem
jak tak to pokaż jak to teraz wygląda
toaspzoo
pisze się mysql_num_rows exclamation.gif
Kszysiu
przepraszam!! wstawiłem, jednak teraz nawet jesli nie ma tekiego rekordu w bazie to i tak wyświetla że kontakt już byl dodany do znajomych...

  1. <?php
  2. if ($zalogowany=='')
  3. echo "Jesteś nie zalogowany! Zaloguj się aby zobaczyć dane użytkownika";
  4. else
  5. {
  6. $query="SELECT * FROM users WHERE id=$_GET[user]";
  7. $result=mysql_query($query);
  8. $num=mysql_numrows($result);
  9. if ($num>0)
  10. {
  11. $nickznaj=mysql_result($result,0,nick);
  12. echo 'Nick:'; echo $nickznaj; echo '<br />';
  13. echo 'Imie:'; echo mysql_result($result,0,imie); echo '<br />';
  14. echo 'Nazwisko:'; echo mysql_result($result,0,nazwisko); echo '<br />';
  15. echo "<a href=\"index.php?strona=uzytkownik&user=";
  16. echo $_GET['user'];
  17. echo "&add=1\">dodaj do znajomych</a>";
  18.  
  19. if ($_GET[add]!= '')
  20. {
  21. $query="SELECT * FROM friends WHERE nick1='$login' && nick2='$nickznaj'";
  22. $$result=mysql_query($query)or die(mysql_error());
  23. $num=mysql_numrows($result);
  24. if ($num=0)
  25. {$query="INSERT INTO friends VALUES('','$login','$nickznaj')";
  26. mysql_query($query);
  27. }
  28. else
  29. {echo "już masz go w znajomych";};
  30. };
  31. }
  32. else
  33. {echo 'nie ma takiego użytkownika!';};
  34. };
  35. ?>



edit:
toaspzoo można tak i tak....
kadlub
$$result a co to jest powinno być tak $result
a i dlaczego za

}; stawiasz średnik
Kszysiu
ja cie kręce!!
Załamka!!

ten błąd z $result zauważyłem, nie zdażyłem odpisać,
z tymi ; wszystko jest dobrze!

błąd na który nie zwróciłeś uwagi i ja też nie, próbując wszystkiego co się da to... uwaga....

  1. if ($num=0)

a powinno być
  1. if ($num==0)


facepalm....
toaspzoo
zrób ludziom, co trzeba i temat do zamknięcia wink.gif
Kszysiu
Dzieki za pomoc wink.gif sam bym sobie nie poradziłwink.gif

Pozdrawiam
Kszysiu


EDIT

mam jeszcze jeden mały problem.
przerobiłem troche tabelę friends
zawiera id, id1 czyli osoby dodajacej znajomego, nick1, czyli nick tej osoby, nick2 czyli nick osoby dodawanej, id2 czyli id tej osoby

czyli:

id|id1|nick1|nick2|id2

i próbuje tam dopisac skrypt usuwający usera.

  1. if ($_GET[del]!= '')
  2. {$query="DELETE FROM friends WHERE id1='$id' $$ nick1='$login' $$ nick2='$nickznaj' $$ id2='$_GET[user]'";
  3. mysql_query($query);
  4. }


próbowałem tak, ale nic się nie dzieje...

mógłby mi ktoś pomóc bo nie ogarniam tego usuwania

ps. to nie cały kod, ale jak chcecie żebym znów wrzucił cały tak jak teraz wygląda to piszcie
toaspzoo
Kod
DELETE FROM `tabela` WHERE `wiersz_imie` = 'Jacek'


Usuń wszystko, gdzie wartość w kolumnie `wiersz_imie` = Jacek
kadlub
$$ co to ma byćquestionmark.gif
wstaw zamiast tego and
Kszysiu
Dobra, koniec z php na dziś... miało być "&&" a wpisywałem "$$" biggrin.gif

dzięki
Kszysiu

ps. zamknijcie ten temat zanim znów coś głupiego zrobie!!:P
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.