Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pobranie tresci strony
Forum PHP.pl > Forum > Przedszkole
Na 5tyk
Cześć.

Mam kod:
  1. <?php
  2.  
  3. class Page
  4. {
  5. public $name;
  6.  
  7. public function __construct($name)
  8. {
  9. $this->name = $name;
  10.  
  11. return true;
  12. }
  13.  
  14. public static function getContents($name)
  15. {
  16. $page = $db -> query("SELECT * FROM pages WHERE page='$name'");
  17. $page = $page -> fetch();
  18. $page = $page['contents'];
  19.  
  20. return $page;
  21. }
  22. }
  23.  
  24. ?>


I następnie w index.php chce wywołać:
  1. $page = Page::getContents('index');
  2. echo $page;


Jednak wyrzuca błąd:
Kod
Fatal error: Call to a member function query() on a non-object in


W czym jest problem?
kapslokk
  1. $page = $db -> query("SELECT * FROM pages WHERE page='$name'");

Skąd CI sie wzielo $db? Nie masz tego nigdzie smile.gif Poza tym potrzebujesz tylko contents a pobierasz *.
Na 5tyk
$db się wzieło stąd:
  1. <?php
  2. ini_set('display_errors', '1');
  3.  
  4. $host = 'localhost'; //Host
  5. $user = 'root';
  6. $pass = '';
  7. $base = 'x'; // Baza
  8.  
  9. try {
  10.  
  11. $db = new PDO('mysql:host='.$host.';dbname='.$base.';charset=utf8', $user, $pass,
  12. PDO::ATTR_EMULATE_PREPARES => false,
  13. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
  14. ));
  15.  
  16. } catch(PDOException $err) {
  17. exit('Blad polaczenia z baza danych: '.$err->getMessage());
  18. }
  19.  
  20.  
  21.  
  22. ?>
kapslokk
No to poczytaj o zasięgu zmiennych i o tym jak możesz dobrze przekazać takie połączenie do jakiegoś obiektu. Jeśli przyjdzie Ci do głowy używanie globali, to szukaj dalej.
Na 5tyk
Dzięki wink.gif

Już wszystko działa 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.