Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP+MySQL] problem z wywołaniem klasy
walldeck
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 13.03.2006
Skąd: Rogoźno Wlkp.

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


Witam!

Mam problem z wywołaniem klasy dla funkcji związanej z połaczeniem. Nie wiem gdzie leży bład. Zwracany bład to:
"Fatal error: Class 'db' not found in C:\AppServ\www\add_pr.php on line 2"

Napewno to jakiś bład wynikający z mojej niewiedzy za sprostowanie serdeczne dzięki.

Kod function.php

  1. <?php
  2. class db{
  3.    
  4. function connect(){
  5.  
  6.    $dbs = @mysql_connect('localhost', 'root', 'root')
  7.    or die("Brak polaczenia z baza danych !!!");
  8.    mysql_select_db('os')
  9.    or die("Nie mozna polaczyc sie z baza danych !!!");    
  10.    
  11. }
  12. ?>


Wywołuję ją tak:
add_pr.php
  1. <?php
  2. db::connect();
  3. ........................
  4. ?>


Ten post edytował walldeck 21.07.2009, 14:40:39
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no a includowales plik z klasa? Bo najwidoczniej nie, skoro nie widzi ci klasy db
Go to the top of the page
+Quote Post
Kojak
post
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 5
Dołączył: 11.09.2007
Skąd: Kielce

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


  1. <?php
  2. include("function.php");
  3. $db = new db(); // tworzenie instancji klasy
  4. $db -> connect(); // wywołanie metody klasy db
  5. ?>


Ten post edytował Kojak 21.07.2009, 14:44:18
Go to the top of the page
+Quote Post
walldeck
post
Post #4





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 13.03.2006
Skąd: Rogoźno Wlkp.

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


Hmm no tak niby dodaje dzięki, ale mam teraz takie ostrzeżenie :
[b]Strict Standards: Non-static method db::connect() should not be called statically in C:\AppServ\www\add_pr.php on line 3]/b]
Go to the top of the page
+Quote Post
blooregard
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Wywołujesz zwykłą metodę klasy zapisem db::connect();
Tak się wywołuje metody statyczne (czyli te, do których masz dostęp bez tworzenia instancji klasy).
Dlatego masz ten notice:

Non-static method db::connect() should not be called statically in C:\AppServ\www\add_pr.php on line 3
Niestatyczna metoda db::connect() nie powinna być wywoływana jako statyczna w C:\AppServ\add_pr.php w linii 3

Tłumaczenie masz ode mnie gratis w promocji.
Go to the top of the page
+Quote Post
walldeck
post
Post #6





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 13.03.2006
Skąd: Rogoźno Wlkp.

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


Cytat(blooregard @ 21.07.2009, 21:15:45 ) *
Wywołujesz zwykłą metodę klasy zapisem db::connect();
Tak się wywołuje metody statyczne (czyli te, do których masz dostęp bez tworzenia instancji klasy).
Dlatego masz ten notice:

Non-static method db::connect() should not be called statically in C:\AppServ\www\add_pr.php on line 3
Niestatyczna metoda db::connect() nie powinna być wywoływana jako statyczna w C:\AppServ\add_pr.php w linii 3

Tłumaczenie masz ode mnie gratis w promocji.

No okej to jak ją powinienem poprawnie wywołac aby nie było tego komunikatu?
Go to the top of the page
+Quote Post
Fifi209
post
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


$obiekt->metoda()

Miałeś napisane wyżej
Go to the top of the page
+Quote Post
Darti
post
Post #8





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


ze strzalką a nie dwukropkami
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: 23.08.2025 - 05:19