Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP + MySQL] Klasa służąca do łączenia z BD
Forum PHP.pl > Forum > Przedszkole
henio
W OOP jestem dość słaby, poczytałem trochę w necie o tym, znalazłem tam klase która służy do łączenia z bazą danych PostgreSQL. Ja na takiej podstawie stworzyłem klase do łączenia z MySQL.

Mam taki błąd przy wywoływaniu danych z bazy danych:
Notice: Use of undefined constant tytul - assumed 'tytul' in C:\Program Files\Apache Group\Apache2\htdocs\baza.class.php on line 46
  1. <?php
  2.  
  3. class baza_danych{
  4. private $link;
  5. private $result;
  6. public $rows;
  7.  
  8. public function __construct($host, $user, $haslo, $nazwa_bazy_danych)
  9. { // początek konstruktora
  10.  
  11.  $this -> link = mysqli_connect($host, $user, $haslo, $nazwa_bazy_danych) or die('Brak połączenia z bazą!');
  12.  
  13. } // koniec konstruktora
  14.  
  15. public function __destruct()
  16. { // początek destruktora
  17.  
  18. mysqli_close($this -> link);
  19.  
  20. } // koniec destruktora
  21.  
  22. public function zapytanie($zapytanie)
  23. { // Funkcja odpowiadająca za zapytania do bazy danych
  24.  $this -> result = mysqli_query($this->link, $zapytanie);
  25.  
  26.  if(strlen(($msg = mysqli_error($this->link))) > 0)
  27.  {
  28. die("Błąd: '.$msg.'");
  29.  }
  30. }
  31.  
  32. public function fetch_assoc()
  33.  { // Funkcja odpowiadająca za zapisywanie danych z bazy danych w tablicy asocjacyjne
  34.  
  35.  if($this -> rows = mysqli_fetch_assoc($this -> result))
  36.  {
  37. return 1;
  38.  }
  39. }
  40.  }
  41.  
  42.  $baza_danych = new baza_danych('localhost', 'root', 'heniek', 'strona');
  43.  
  44.  $baza_danych -> zapytanie("SELECT id_uzytkownik, tytul, tresc, zrodlo FROM newsy WHERE rodzaj_newsa =\"zwykly_news\"");
  45.  while($baza_danych -> fetch_assoc())
  46.  {
  47. echo "<li>".$baza_danych -> rows[tytul]."</li>";
  48.  }
  49.  
  50. ?>
marcio
A nie powinno byc
  1. <?php
  2. while($rows -> fetch_assoc($baza_danych))
  3.  {
  4. echo "<li>".$baza_danych -> rows['tytul']."</li>";
  5.  }
  6. ?>

Fakt faktem OOP nie znam
henio
Rzeczywiście, głupi błąd zawsze najtrudniej wyłapuje. Dzięki
marcio
Spoko przy OOP mozna sie latwo pomylic 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.