Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Mysqli w klasie, jak zrobić?
szok
post
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Witam, mam klasę users:

  1. <?php
  2. class users {
  3.  function views($id){
  4.    $wynik = $db -> query("SELECT * FROM users WHERE id='".$id."'");
  5.    return $wynik -> fetch_assoc();
  6.    $wynik->close();
  7.  }
  8.  
  9. }
  10. ?>


I w niej metodę views, jak zrobić aby to zapytanie $wynik wykonało mi się?

Jak dodam połączenie i zamknięcie połączenia w tej metodzie to to działa, ale jak jej nie dodam to już nie sad.gif jak to zrobić abym mógł w tej klasę wykonywać zapytania MYSQL poprzez klasę Mysqli ?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


A gdzie przekazujesz obiekt $db?

Powinieneś utworzyć $db w jednym miejscu i w konstruktorach przekazywać go do klas, w których będzie potrzebny:

  1. <?php
  2. class users {
  3.  
  4.  private $db;
  5.  
  6. public function __construct($db) {
  7.    $this->db = $db;
  8. }
  9. public function views($id){
  10.   $wynik = $this->db -> query("SELECT * FROM users WHERE id='".$id."'");
  11.   return $wynik -> fetch_assoc();
  12. }
  13.  
  14. }
  15.  
  16.  
  17. $users = new users($db);
  18. $users->views(5);
  19. ?>
Go to the top of the page
+Quote Post
szok
post
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Działa IDEALNIE, dziękuję za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A mam pytanie, czy każda metoda w tej klasie musi być "public" ? Te metody które dodam będą tak samo łączyć się z bazą danych jak ta tutaj. Pozdrawiam
Go to the top of the page
+Quote Post
l0ud
post
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Jeżeli ma zostać wywołana spoza klasy, metoda musi być publiczna. Metody, które będą wywoływane wewnątrz klasy (przez inne jej metody) - utworzone chociażby dla porządku, ustaw jako prywatne albo chronione.
Go to the top of the page
+Quote Post
szok
post
Post #5





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Acha, już wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dziękuje za pomoc. Pozdrawiam
Go to the top of the page
+Quote Post

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: 22.08.2025 - 19:35