![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 27.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
mam taki mały problem, tworzę sobie klasę do obsługi bazy danych. I dla tesów zrobiłem taką prosty skrypt do sprawdzenia czy działa:
Problem się pojawia w metodzie sqlResult(). W przeglądarce wyskauje mi bład Call to a member function fetch_object() on a non-object in D:\xampp\htdocs\baza\dbmenager.php on line 36($record = $this->result->fetch_object()(IMG:style_emoticons/default/wink.gif) . Wydaje mi się żę w jakiś zły sposób próbuję przesłać wynik zapytania do tej metody przez co pojawia się błąd. Ale już się trochę pogubiłem i nie wiem co robie nie tak. W każdym razie sprawdziłem że "$result" jest obiektem. Tylko coś źle chyba robię żeby to $result było użyte w metodzie sqlResult(). Czy mógłbym prosić o jakąś radę?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie prościej wykonać zapytanie i pobrać wyniki w jednej metodzie?
Ten post edytował Turson 28.12.2013, 21:00:52 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 27.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie prościej wykonać zapytanie i pobrać wyniki w jednej metodzie? ale czy takie rozwiązanie jest poprawne? Bo chciałem zrobić tak żeby klasa dbmenager była odpowiedzialna właśnie za operacje na bazie, a takim wypadku będę musiał powielać kod... Chyba że chodzi Ci o to żeby w metodzie sqlQuery umieścić kod z sqlResult? Ten post edytował smiesznylolek 30.12.2013, 13:09:27 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Chyba że chodzi Ci o to żeby w metodzie sqlQuery umieścić kod z sqlResult? Dokładnie o to. Powiedzmy, że pobierasz dane użytkownika
W metodzie getUserData otrzymujesz tablicę z danymi. Zamiast w każdej klasie pisać konstruktor do połączenia z bazą, polecam zrobić osobną klasę z połączeniem, a potem w kolejnych klasach tylko ją połączać przez extends |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
jakbyś poczytał na temat tego co dałem Ci definicje to byś nie zadał takich pytań, ludzie trochę myślcie (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 27.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
jakbyś poczytał na temat tego co dałem Ci definicje to byś nie zadał takich pytań, ludzie trochę myślcie (IMG:style_emoticons/default/smile.gif) nie do końca rozumiem, o co Ci chodzi, i co objaśnienie CRUD ma do mojego problemu? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Call to a member function fetch_object() on a non-object in D:\xampp\htdocs\baza\dbmenager.php on line 36($record = $this->result->fetch_object()(IMG:style_emoticons/default/wink.gif) . Błąd "Call to a member function on a non-object" oznacza, że próbowano wywołać metodę klasy na zmiennej nie będącej instancją żadnej klasy. Zwróć uwagę na przedimek nieokreślony "a" w komunikacie błędu: "a ... function" - "jakaś funkcja" - parser nawet nie wie, o jaką funkcję chodzi. I nic dziwnego - nie jest taki bystry jak my tutaj (IMG:style_emoticons/default/smile.gif) W tym nieszczęsnym wierszu 36 wywołujesz metodę fetch_object() na polu result, a wcześniej nigdzie nie ustawiłeś wartości tego pola - ma ono wartość NULL (bystry parser by chociaż taką podpowiedź dał). Mógłbyś w metodzie sqlQuery() zamiast zwracać pustą wartość pola (return $this->result;), ustawić ją: $this->result = $result;, wtedy może coś zacznie hulać (IMG:style_emoticons/default/wink.gif) PS. CRUDem się nie przejmuj - to faktycznie nie ma tutaj nic do rzeczy. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 27.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie Stary:) jak można było się spodziewać, to pierdółka była, ale dzięki za konkretną odp:)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:31 |