![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wrzucilem skrypty na serwer z obsługa php 5 i wywala mi takiego notice "Trying to get property of non-object in". Co to oznacza i jak się tego pozbyć?
Ten post edytował thoran 9.11.2005, 17:31:38 -------------------- www.gildwars.pl
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1. Zadzwon do wrozki/jasnowidza -- ona ci pomoze
2. Jesli cie nie stac na nia: to podaj nazwe skryptu, fragment kodu, w ktorym blad wystepuje + wskaz, ktora to linia. ----edit---- Hehe, chyba się spieszyłeś z pisaniem tego posta. Weś popraw go na polski. ~mike_mech ED: pisalem jednym palcem w niewygodnej pozycji ![]() Ten post edytował dr_bonzo 8.11.2005, 21:12:57 -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Próbujesz wywołać metodę na zmiennej, która nie jest obiektem.
Zrób print_r i zobaczysz czym jest ta zmienna. -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Gwoli scislosci: nie metode ale wlasciwosc/pole/property (i ofkorz pobrac nie wywolac).
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
bład pojawia się w 3 linijce, kod ten znajduje się w funkcji której poczatek wygląda tak
Na php 5 jeszcze nie mialem okazji pracowac dlatego nie wiem co z tym zrobić. Wlasnie zauwazylem ze wyskakuje to w linijkach w których uzywam isset lub empty
Ten post edytował thoran 8.11.2005, 22:31:20 -------------------- www.gildwars.pl
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
A czym jest $player (jest przekazywany jako argument funkcji), pokaz gdzie wywolujesz ta funkcje, i pokaz kod klasy, ktorej instancja jest $player.
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
jako $player przekazywany jest id gracza
przykład
klasa PLayer po krótce wygląda tak
hm chyba po woli dochodze o co w tym chodzi ![]() A i mam jeszcze pytanie czego mozna uzyć zamist globali w funkji, bo wszedzie słysze "nieuzywaj globali" ale co dac w zamian? -------------------- www.gildwars.pl
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1. global
W parametrze konstruktora przekazujesz $db a potem je zapisujesz w polu klasy
2. $player zostaje zadeklarowany tu:
jako parametr $player podajesz $attacker['id'], a czym jest ta wartosc? Obiektem klasy Player? Bo potem sie odwolujesz $player->race, i tu jest blad. 3.
Nie lepiej po prostu zapisac wyniku z query
i potem to zwracac? No chyba ze jakos wykorzystujesz te dziesiatki pol klasy Player. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc poradzilem sobie
![]() PLayer ma takie same pola jak tabela w bazie, sa tam zapisane wszelkie dane dotyczące graczy, potem jednorazowo pobierane, w sumie uzywam tylko tej jednej klasy, jesli wiesz jak to inaczej rozwiązac to powiedz ![]() Dzięki i pozdrawiam Moze mi ktos wyjasnić pewną rzecz Uzywam adodb i mam cos takiego
Wywala mi notice ze w isset chce uzyć non object dzieje się tak zapewne gdy zapytanie zwróci 0 ale przeciez to jest jakas wartosc dzieje sie tak samo przy uzyciu !empty(). Dlaczego tak sie dzieje skoro skrypt powinien się wykonać tylko w momencie pobrania czegos z bazy. Ten post edytował thoran 11.11.2005, 14:16:28 -------------------- www.gildwars.pl
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wywala się, bo '0' to nie jest obiekt, którego pola można sobie odczytywać.
Jeśli zwraca 0, to sprawdzaj:
Albo poczytaj sobie, co dokładnie zwraca AdoDB po wykonaniu Execute() i będziesz wiedział, jak na to zareagować. Poza tym, na pewno jest w AdoDB funkcja zwracająca liczbę odczytanych z bazy wierszy ('0' - nie ma gracza o id=1, '1' - jest taki gość, '>1' - masz skopaną bazę, bo jest kilku graczy o tym samym id). |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@thoran Radze popracowac nad sama budowa klasy bo trudno polapac sie co jest co, tyle tych pol, do metody przekazujesz tyle parametrow ze nie wiadomo co jest do czego. Klasa ma odzwierciedlac pewna rzeczywistosc a nie zawierac wszystko w sobie.
-------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 11.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
W sumie to nie moja klasa, ja osobiscie o oop jeszcze wiem niewiele poza samymi podstawami, dopiero ucze sie uzywać go odpowiednio
![]() -------------------- www.gildwars.pl
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 12:19 |