Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysqli] Dziedziczenie po klasie
bobo1
post 7.07.2012, 10:05:33
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 7.03.2008

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


Witam,

Próbuję przerobić kod na obiektowy z wykorzystaniem mysqli. Mam klasę A w której chcę pobrać dane z tabeli, ale za każdym razem otrzymuje błąd: Call to a member function query() on a non-object. Próbuje dziedziczyć po klasie mysqli, ale nie przynosi to żadnego rezultatu. Poniżej znajduje się kod.

Pliki index.php wygląda następująco:
  1. include_once('mysqli_data.php');
  2. include_once('class.a.php');
  3. $a = new A();
  4. $a->GetNrOfClikc($idPartner, $startDate, $endDate).'


plik mysqli_data.php
  1. $mysqli = new mysqli($host, $user, $password, $dbName);


plik class.a.php
  1. class A extends mysqli
  2. {
  3.  
  4. public function GetNrOfClikc ($idPartner, $startDate, $endDate)
  5. {
  6. $result = $mysqli -> query("SELECT COUNT(*) AS count FROM cliks WHERE idPartner = '".$idPartner."' AND dateTime >= '".$startDate."' AND dateTime <= '".$endDate."' ");
  7.  
  8. while ($row = $result->fetch_assoc())
  9. {
  10. return $row['count'];
  11. }
  12. }
  13. }

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bobo1
post 7.07.2012, 10:44:48
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 7.03.2008

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


Czyli jeśli dobrze zrozumiałem powinno wyglądać tak.

mysqli_data.php
  1. $host = 'localhost';
  2. $user = 'xxx';
  3. $password = 'yyy';
  4. $dbName = 'zzz';
  5. $mysqli = new mysqli($host, $user, $password, $dbName);
  6.  
  7. include_once('class.a.php');
  8. $mysqli = new A($host, $user, $password, $dbName)


class.a.php
  1. include_once('mysqli_data.php');
  2.  
  3. class A extends mysqli
  4. {
  5. public function GetNrOfClikc ($idPartner, $startDate, $endDate)
  6. {
  7. $result = $this -> query("SELECT COUNT(*) AS count FROM cliks WHERE idPartner = '".$idPartner."' AND dateTime >= '".$startDate."' AND dateTime <= '".$endDate."' ");
  8.  
  9. while ($row = $result->fetch_assoc())
  10. {
  11. return $row['count'];
  12. }
  13. }
  14.  
  15. }


index.php
  1. include_once('mysqli_data.php');
  2. $a = new A();
  3. $a->GetNrOfClikc($idPartner, $startDate, $endDate)


Błędy:
Warning: mysqli::query() [mysqli.query]: invalid object or resource A in class.a.php
Fatal error: Call to a member function fetch_assoc() on a non-object in class.a.php

Ten post edytował bobo1 7.07.2012, 10:45:37
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:41