Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Pomoc w zrozumieniu wykonywania kodu.
nastu7
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Łódź

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


Mam problem, ponieważ w zasadzie nie rozumiem działania pewnego kodu.

  1. $sql2 = mysql_query("SELECT * FROM comments WHERE post_id=1 ORDER BY data ASC LIMIT 0, 30");
  2. $kome = mysql_fetch_row($sql2);
  3.  
  4. if($sql2){
  5. echo "JEST<br>";
  6. }else{
  7. echo "Nie ma<br>";
  8. }
  9.  
  10.  
  11. if($kome){
  12. echo "JEST<br>";
  13. }else{
  14. echo "Nie ma<br>";
  15. }


Powyższe wyświetla mi:
JEST
Nie ma

A według mnie, powinno być:
JEST
JEST

Ponieważ tablica w mysql jest niepusta.

Czy jest ktoś w stanie wytłumaczyć mi to?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
bpskiba
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


zapewne pytanie wykonało się prawidłowo i zwróciło zerową ilość rekordów. Wystarczy wywołać funkcję mysql_num_rows($sql2); aby się o tym przekonać
Go to the top of the page
+Quote Post
nastu7
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Łódź

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


Jednak nie wykonuje się prawidłowo, ponieważ jest błąd argumentu funkcji dla mysql_num_rows($kome).

Warning: mysql_num_rows(): supplied argument is not a valid MySQL

Próbowałem również z mysql_fetch_assoc, ale to jest przecież ten sam schemat.
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


mysql_num_rows($sql2) a nie $kome
Go to the top of the page
+Quote Post
nastu7
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Łódź

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


No ale przecież jest powiedziane, że dla $sql2 jest poprawne wykonanie, czyli wybiera z bazy danych, ale już nie formuje z tego tablicy, dla $sql2 mysql_num_rows zwraca poprawną liczbę.

Z resztą teraz przemyślałem i mysql_num_rows($kome) nie ma kompletnie sensu.

Ten post edytował nastu7 12.11.2013, 21:23:37
Go to the top of the page
+Quote Post
com
post
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


  1. if($sql2){
  2. echo "JEST<br>";
  3. }else{
  4. echo "Nie ma<br>";
  5. }

Też nie ma sensu wink.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 Aktualny czas: 20.08.2025 - 10:09