Witam,

Mam mały problem z pewnym kodem. Uczę się dopiero PHP, więc proszę o nie śmianie się :-) Uczę się z PHP i MySQL. Tworzenie stron WWW - Vademecum Profesjonalisty III. Nie wiem czemu zwraca mi dziwny komunikat. Oto kod:

  1. <?php
  2. // utworzenie krótkich nazw zmiennych
  3. $metoda_szukania=$_POST['metoda_szukania'];
  4. $wyrazenie=$_POST['wyrazenie'];
  5. if (!$metoda_szukania || !$wyrazenie)
  6. {
  7. echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.'; exit;
  8. }
  9. { 
  10. $metoda_szukania = addslashes($metoda_szukania);
  11. $wyrazenie = addslashes($wyrazenie);
  12. }
  13. $db = new mysqli("localhost", "root", "root", "ksiazki");
  14. if (mysqli_connect_errno()) {
  15.  printf("D_u_p_a z tego: %sn", mysqli_connect_error());
  16.  exit();
  17. }
  18. $zapytanie = "select * from ksiazki where ".$metoda_szukania." like'%".$wyrazenie."%'";
  19. $wynik = $db ->query ($zapytanie);
  20. $ile_znalezionych = $wynik->num_rows;
  21. echo '<p>Ilość znalezionych pozycji: '. $ile_znalezionych.'</p>';
  22. for ($i=0; $i<$ile_znalezionych; $i++)
  23. {
  24. $wiersz = $wynik->fetch_assoc();
  25. echo '<p><strong>'.($i+1).'. Tytuł: ';
  26. echo stripslashes($wiersz['tytul']);
  27. echo '</strong><br />Autor: ';
  28. echo stripslashes($wiersz['autor']);
  29. echo '<br />ISBN: ';
  30. echo stripslashes($wiersz['isbn']);
  31. echo '<br />Cena: ';
  32. echo stripslashes($wiersz['cena']);
  33. echo '</p>';
  34. }
  35. $wynik->free();
  36. $db->close();
  37. ?>


A oto błąd:

  1. <?php
  2. Fatal error: Call to a member function free() on a non-object in C:Program FilesWebServhttpdrezultaty.php on line 36
  3. ?>


Mam serwer lokalny - WebServ w wersji 1.3 i skonfigurowane MySQLi. Usunąłem komentarz z linijki o bibliotece MySQLi. Mimo to, mam ten błąd. Nie rozumiem go, mimo, że walczę z nim już parę godzin. Wiem, że da się zrobić z samym mysql np. mysql_connect, ale bardziej wciągnął mnie tamten sposób. Bardzo proszę o pomoc w rozwiązaniu problemu.

Oto informacje o aplikacjach na serwerze:

Apache - 2.2.3
PHP - 5.1.5
MySQL - 5.0.24

Jeżeli będą potrzebne inne informacje, proszę pisać! Działam na Windows'ie XP Professional, ponieważ mam brata, który nie strawiłby Linux'a, ze względu na gry :-)

Pozdrawiam,
Largo