Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem w połączeniu z bazą
Forum PHP.pl > Forum > Przedszkole
lawok00
Witam,
mam problem ze skryptem odczytującym dane z bazy danych.
  1. <?php //Wyświetlanie forum dyskusyjnego. Jeżeli jest podany numer postu,
  2.    //wyświetla się on i jego odpowiedzi. Jeżeli nie - całe forum.
  3.    
  4.   function wypiszforum ($nr)
  5.    {
  6.    //Funkcja rekurencyjnie wyświetla wszystkie rekordy, będące poniżej w hierarchii
  7.    //postów (czyli odpowiedzi, odpowiedzi na odpowiedzi, itd
  8.     global $fref;
  9.     global $fdata;
  10.     global $fosoba;
  11.     global $ftytul;
  12.     print "<ul>";
  13.     for ($i=count($fref); $i>=1; $i--)
  14.      {
  15.      if ($fref[$i] == $nr)
  16.       {
  17.       print "<li><a href=\"6-18.php?nr=$i\">$ftytul[$i]</a>,"."<i>$fosoba[$i], $fdata[$i]</i>";
  18.       wypiszforum ($i);
  19.       }
  20.      }
  21.      print "</ul>";
  22.     }
  23.    
  24.     mysql_connect ("localhost", "root", "krasnal") or
  25.      die ("Nie można połączyć się z MySQL");
  26.     mysql_select_db ("forumdyskusyjne") or
  27.      die ("Nie możne połączyć się z bazą forumdyskusyjne");
  28.    
  29.     if ($nr>0)
  30.      {
  31.      // chcesz wyświetlić post
  32.      $wynik = mysql_query ("select osoba, tytul, tresc, data ". "from forumdyskusyjne where nr=$nr");
  33.      if ($rekord = mysql_fetch_array ($wynik))
  34.       {
  35.       //i ten post jest
  36.       $tresc = $rekord[2];
  37.       $tytul = $rekord[1];
  38.       print "<h3>$rekord[1]</h3>";
  39.       print "<p>wysłany przez <b>$rekord[0]</b>, <b>$rekord[3]</b>:";
  40.       print "</p><p>$rekord[2]</p><hr>";
  41.       print "<a href=6-18-add.php?ref=$nr\">Wyślij odpowiedź</a><hr>";
  42.       }
  43.      else
  44.       {
  45.       $nr = 0;
  46.       }
  47.      }
  48.     else
  49.      {
  50.      $nr = 0;
  51.      }
  52.     // odczyt danych, które będą wykorzystane w funkcji rekurencyjnej
  53.     $wynik = mysql_query ("select nr, osoba, tytul, data, ref". "from forumdyskusyjne");
  54.     while ($rekord = mysql_fetch_array ($wynik))
  55.      {
  56.      $fref[$rekord[0]] = $rekord[4];
  57.      $fdata[$rekord[0]] = $rekord[3];
  58.      $ftytul[$rekord[0]] = $rekord[2];
  59.      $fosoba[$rekord[0]] = $rekord[1];
  60.      }
  61.     //wypisanie postów potomnych - rekurencja
  62.     wypiszforum ($nr);
  63.    ?>


Niestety podczas wyświetlania strony ukazuje mi się błąd

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\cwphp\6-18.php on line 64

Ta linia to:
while ($rekord = mysql_fetch_array ($wynik))
trochę inaczej dopisały się numery linii, tutaj chodzi o 55.

Dla uzupełnienia tematu, pola w bazie danych to:
nr - pole kluczowe
ref
data
osoba
tytul
tresc

Nie za bardzo wiem co jest z tym nie tak.
Dlatego proszę o pomoc kogoś bardziej doświadczonego w tym temacie.
artur_dziocha
zamiast
  1. <?php
  2. $wynik = mysql_query ("select nr, osoba, tytul, data, ref". "from forumdyskusyjne");
  3. ?>

daj
  1. <?php
  2. $wynik = mysql_query ("select nr, osoba, tytul, data, ref". "from forumdyskusyjne") or die(mysql_error());
  3. ?>

i wklej wynik
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.