Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP+MySQL] problem z wywołaniem klasy
Forum PHP.pl > Forum > Przedszkole
walldeck
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. ?>
nospor
no a includowales plik z klasa? Bo najwidoczniej nie, skoro nie widzi ci klasy db
Kojak
  1. <?php
  2. include("function.php");
  3. $db = new db(); // tworzenie instancji klasy
  4. $db -> connect(); // wywołanie metody klasy db
  5. ?>
walldeck
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]
blooregard
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.
walldeck
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?
Fifi209
$obiekt->metoda()

Miałeś napisane wyżej
Darti
ze strzalką a nie dwukropkami
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.