Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Nieznany błąd
Forum PHP.pl > Forum > Przedszkole
babcia_smierc
Wysyłam takie oto zapytanie:
  1. $commsql = "SELECT nazwa FROM komentarze WHERE id_blogu = " . $row['id'] ." ORDER BY data_wpisu;";
  2. $commresult = mysql_query($commsql) or die('BŁĄD:'.mysql_error());
  3. $numrows_comm = mysql_num_rows($commresult) or die('BŁĄD:'.mysql_error());


I wyświetla mi błąd, ale nie pisze na czym ten błąd polega. Może ktoś mi powiedzieć gdzie popełniłem błąd ? Sprawdzałem kod kilka razy i dobrze przepisałem z książki więc wszystko powinno działać...
Noidea
Prawdopodobnie błędu nie ma, tylko mysql_num_rows zwróciło 0 - uroki języka z dynamicznym typowaniem.

Usuń drugie "or die()"
babcia_smierc
No właśnie pisze tylko : "Błąd" i to tyle.
wookieb
Za późno usunąłem post.
Kolega dał prawidłowa odpowiedź.
babcia_smierc
Usunąłem 2 or die() W bazie są 2 komentarze wiec powinno zwrócić je własnie a zwróciło 0. Dlaczego ?

  1. $commsql = "SELECT nazwa FROM komentarze WHERE id_blogu = " . $row['id'] ." ORDER BY data_wpisu;";
  2. $commresult = mysql_query($commsql) or die('BŁĄD:'.mysql_error());
  3. $numrows_comm = mysql_num_rows($commresult);
  4.  
  5. if($numrows_comm == 0) {
  6. echo "<p>Brak komentarzy.</p>";
  7. }
  8. else {
  9. echo "(<strong>" . $numrows_comm . "</strong>) komentarzy :";
  10. $i = 1;
  11. while($commrow = mysql_fetch_assoc($commresult)) {
  12.  
  13. echo "<a href='wyswietlanie_wpisu.php?id=" . $row['id'] ."#komentarz" . $i . "'>" . $commrow['nazwa'] . "</a> ";
  14. $i++;
  15. }
  16. }
  17. echo "</p>";
Valdi_B
Jeżeli "coś dziwnego" dzieje się z wykonaniem komend SQL, to warto testowo drukować takie komendy.
Instrukcję: echo "<p>Brak komentarzy.</p>";
zmień na echo "<p>Brak komentarzy. $commsql</p>";
Ew. sprawdź czy te 2 komentarze w bazie są z tym właśnie identyfikatorem.
babcia_smierc
Lipną książke chyba kupiłem sad.gif
Dodałem $commsql i wyświetliło mi komentarze z błędnym id kategorii i dlatego nie wyświetlało tych komentarzy
Zamieniłem
  1. $commsql = "SELECT nazwa FROM komentarze WHERE id_blogu = " . $row['id'] ." ORDER BY data_wpisu;";

na :
  1. $commsql = "SELECT nazwa FROM komentarze WHERE id_blogu = " . $row['id_kat'] ." ORDER BY data_wpisu;";


i działa smile.gif

Dzięki za pomoc 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.