Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z nauką PHP
tonapewno
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 5.11.2009

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


po przeczytaniu manuala PHP, zacząłem korzystać z tej o to książki:

http://helion.pl/ksiazki/phmsv3.htm

ale w niej jest masakrycznie dużo błedów i właśnie teraz napotkałem się z takim:

  1. Fatal error: Call to a member function free() on a non-object in /home/www/php/rezultaty.php on line 48


ale w ja nie popełniłem żadnego błedu przepisując kod z książki bo przeglądałem kod kilka razy, i jakoś sobie z tym poradzę, ale prosiłbym o wyjasnienie co ma robić ten kod na końcu chodzi mo i linkije

  1. $wynik -> free()


a tutaj jest cały kod:

  1. <html>
  2. <head>
  3. <title>Rezultat wyszukiwania</title>
  4. </head>
  5. <body>
  6. <h1>Rezulat wyszukania</h1>
  7. <?php
  8. $metoda = $_POST['metoda'];
  9. $wyrazenie = $_POST['wyrazenie'];
  10.  
  11. $wyrazenie = trim($wyrazenie);
  12. if (!$metoda || !$wyrazenie)
  13. {
  14. echo 'brak parametrow wyszukiwania. Wroc do poprzedniej strony i sprobuj ponowanie';
  15. }
  16. {
  17. $metoda = addslashes($metoda);
  18. $wyrazenie = addslashes($wyrazenie);
  19. }
  20. @ $db = mysql_connect('localhost', 'root', 'zaq12wsx', 'ksiazki');
  21. if (mysqli_connect_errno())
  22. {
  23. echo 'Blad: Polaczenia z baza danych. Sprobuj pozniej';
  24. }
  25. $zapytanie = " select * from tbl_ksiazki ".$metoda." LIKE '%".$wyrazenie."%'";
  26. $wynik = mysql_query($zapytanie);
  27.  
  28. $ile_znaleziono = 'num_rows';
  29.  
  30. echo '<p> Ilosc znalezionych pozycji: '.$ile_znaleziono.'</p>';
  31.  
  32. for ($i = 0; $i < $ile_znaleziono; $i++)
  33. {
  34. $wiersz = $wynik -> fetch_assoc();
  35. echo '<p><strong>'.($i+1).'.Tytul: ';
  36. echo stripslashes($wiersz['tytul']);
  37. echo '</strong><br /> Autor: ';
  38. echo stripslashes($wiersz['autor']);
  39. echo '<br > ISBN: ';
  40. echo stripslashes($wiersz['isbn']);
  41. echo '<br /> Cena: ';
  42. echo stripslashes($wiersz['cena']);
  43. echo '</p>';
  44. }
  45. $wynik -> free();
  46. $db -> close();
  47.  
  48. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tonapewno
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 5.11.2009

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


  1. <html>
  2. <head>
  3. <title>"Książkorama" - Rezultaty wyszukiwania</title>
  4. </head>
  5. <body>
  6. <h1>"Książkorama" - Rezultat wyszukiwania </h1>
  7. <?php
  8. //utworzenie krótkich nazw zmiennych
  9. $metoda_szukania=$_POST['metoda_szukania'];
  10. $wyrazenie=$_POST['wyrazenie'];
  11.  
  12. $wyrazenie = trim($wyrazenie);
  13.  
  14. if (!$metoda_szukania || !$wyrazenie)
  15. {
  16. echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponowanie.';
  17. }
  18.  
  19. {
  20. $metoda_szukania = addslashes($metoda_szukania);
  21. $wyrazenie = addslashes($wyrazenie);
  22. }
  23. @ $db = new mysqli('localhost', 'ksiazkorama', 'ksiazkorama123', 'ksiazki');
  24.  
  25. if (mysqli_connect_errno())
  26. {
  27. echo 'Bład: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  28. }
  29.  
  30. $zapytanie = "select * from ksiazki where ".$metoda_szukania." like '%".$wyrazenie."%'";
  31. $wynik = $db->query($zapytanie);
  32.  
  33. $ile_znalezionych = $wynik->num_rows;
  34.  
  35. echo '<p>Ilość znalezionych pozycji: '.$ile_znalezionych.'</p>';
  36.  
  37. for ($i=0; $i <$ile_znalezionych; $i++)
  38. {
  39. $wiersz = $wynik->fetch_assoc();
  40. echo '<p><strong>'.($i+1).'.Tytuł: ';
  41. echo stripslashes($wiersz['tytuł']);
  42. echo '</strong><br />Autor: ';
  43. echo stripslashes($wiersz['autor']);
  44. echo '<br />ISBN: ';
  45. echo stripslashes($wiersz['isbn']);
  46. echo '<br /> Cena: ';
  47. echo stripslashes($wiersz['cena']);
  48. echo '</p>';
  49. }
  50.  
  51. $wynik->free();
  52. $db->close();
  53. ?>
  54. </body>
  55. </html>


przepisałem cały kod taki jak jest w książce, i chodzi mi teraz tylko o to żebyście mi powiedzieli(napisali) do czego ma służyć bo tylko tego z całego kody nie rozumiem:

  1. $wynik->free();
  2. $db->close();


a co do twojego ostatniego posta, to ja dopiero tydzień uczę się php więc dlatego może "poprawiam go fatalnie".

Ten post edytował tonapewno 26.11.2009, 16:14:54
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 11:30