Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odwołanie się do funkcji klasy w innej funkcji
InosU31
post
Post #1





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


Witam

Mam taką klasę:

  1. class db_interface
  2. {
  3. var $resource;
  4. var $result;
  5.  
  6. function db_interface($_db_base, $_host, $_user, $_pswd)
  7. {
  8. $this->resource = mysql_connect($_host, $_user, $_pswd) or die ("brak polaczenia z baza");
  9. mysql_select_db($_db_base) or die ("nie znaleziono bazy danych");
  10. }
  11.  
  12.  
  13. function get_query ($_query)
  14. {
  15. $this->result = mysql_query ($_query) or die ("blad zapytania");
  16.  
  17. $i = 0;
  18. while ($record = mysql_fetch_array ($this->result, MYSQL_ASSOC))
  19. {
  20. foreach ($record as $field_name => $field_value)
  21. {
  22. $table [$i][$field_name] = $field_value;
  23. }
  24. $i++;
  25. }
  26.  
  27. mysql_free_result ($this->result);
  28.  
  29. if ($i == 0)
  30. return 0;
  31. else
  32. return $table;
  33.  
  34. }
  35.  
  36.  
  37. }


chciałem sobie stworzyć funkcję, która będzie mi zapisywała pewne dane do bazy - ponieważ użyję ją w kilku miejscach. Problem w tym że nie wiem jak mam sie odwołać do funkcji w klasie db_interface w tej funkcji:

  1.  
  2. function statyProm ($statyTabela, $nazwaTabeli, $idTabela, $getUser, $getId)
  3. {
  4. $result_staty_promo = $dbase->get_query(" // tu jest linia 5
  5. SELECT * FROM $statyTabela
  6. WHERE id_user = '".$getUser."' AND id_promo = '".$getId."'
  7. ");
  8.  
  9. if ($result_staty_promo)
  10. {
  11. foreach ($result_staty_promo as $record_staty_promo)
  12. {
  13. if ($record_staty_promo['ip'] == $_SERVER['REMOTE_ADDR'] AND $record_staty_promo['browser'] == $_SERVER['HTTP_USER_AGENT'])
  14. {
  15. return 0;
  16. }
  17. else
  18. {
  19. $dbase->query("
  20. INSERT INTO $statyTabela
  21. (ip, browser,id_user, id_promo)
  22. VALUES
  23. (
  24. '".$_SERVER['REMOTE_ADDR']."',
  25. '".$_SERVER['HTTP_USER_AGENT']."',
  26. '".$getUser."',
  27. '".$getId."'
  28. )
  29. ");
  30.  
  31. $dbase->query("
  32. UPDATE $nazwaTabeli
  33. SET ilosc_klik = ilosc_klik + 1
  34. WHERE $idTabela = '".getId."'
  35. ");
  36.  
  37. echo "funkcja dziala :-)";
  38. }
  39. }
  40. }
  41. }


includuję wcześniej dostęp do bazy:
$dbase = new db_interface("nazwa_bazy", "localhost", "user", "hasło");

dodam że jak normalnie się odwołuję do tych instrukcji z funkcji statyProm to wszystko jest ok ale jak wywołuje ta funkcję to wywala mi bład.

  1. statyProm ("tabela1", "tabela2", "id_tabela2", $_GET['us'], $_GET['prid']);


a bład wygląda tak:

Fatal error: Call to a member function get_query() on a non-object in E:\sciezka\funkcje.php on line 5

z góry dzieki za pomoc

Pozdrawiam

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: 23.12.2025 - 08:21