Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Pomoc w zrozumieniu wykonywania kodu.
Forum PHP.pl > Forum > Przedszkole
nastu7
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?
bpskiba
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ć
nastu7
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.
Turson
mysql_num_rows($sql2) a nie $kome
nastu7
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.
com
  1. if($sql2){
  2. echo "JEST<br>";
  3. }else{
  4. echo "Nie ma<br>";
  5. }

Też nie ma sensu wink.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.