Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL] Problem z "Call to a member function fetch_array"
enbe
post 21.07.2009, 14:38:48
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.07.2009

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


Witam.
Mam taki problem z funkcją. Mianowicie funkcja działa poprawnie pobiera rekordy z bazy, wyświetla wynik, ale pod wynikiem mam:

Call to a member function fetch_array() on a non-object in

Dotyczy to linii z while

  1. <?php
  2. function nazwa_wartosc ($nazwa) {
  3.    global $db;
  4.    $zapytanie = "SELECT * FROM `".DB_PREFIX.$nazwa."`";
  5.    $pobierz = $db->query($zapytanie);
  6.    
  7.    while($dane = $pobierz->fetch_array()) {    
  8.        $t_lista[$dane['nazwa']] = $dane['wartosc'];    
  9.    }
  10.    
  11.    
  12.    print_r ($t_lista);
  13. }
  14. ?>


Próbowałem na różne sposoby, ale skończyły mi się pomysły.
Go to the top of the page
+Quote Post
wookieb
post 21.07.2009, 14:41:45
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




zapewne trzeba to użyć tak...
  1. <?php
  2. while($dane = $db->fetch_array($pobierz)) {
  3. ?>

Przy pomyślnych wiatrach bez argumentu.


--------------------
Go to the top of the page
+Quote Post
enbe
post 21.07.2009, 14:49:27
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.07.2009

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


Próbowałem już tego, ale wtedy jest:

Fatal error: Call to undefined method mysqli::fetch_array()

No i nie działa wogóle, a to moje rozwiązanie działa, ale i tak wysyła błąd

Ten post edytował enbe 21.07.2009, 14:52:04
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 15:38:15
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Myślenie boli?

Już metodą prób i błędów byś próbował inne zmienne podstawiać albo chociaż zajrzeć do dokumentacji w celu odnalezienia opisu tej metody...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
enbe
post 21.07.2009, 15:51:02
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.07.2009

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


Mnie nie boli.

Zanim to napisałem oczywiście przeglądałem net, dokumentacje i ksiązki. Jakoś nie znalazłem rozwiązania.

Zwykle taki skrypt mi działa i tym razem też działa, ale oprócz tego pokazuje błąd. Nie moge sam tego naprawić, więc pisze w celu uzyskania podpowiedzi.
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 16:03:06
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To pokaż, gdzie szukałeś. snitch.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
enbe
post 21.07.2009, 16:15:56
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.07.2009

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


No np. tu: http://php.net.pl/manual/pl/mysqli-result.fetch-array.php
Albo w "PHP i MySQL Tworzenie stron WWW" , "PHP Almanach".

Jak widzisz błąd to może mi go wskażesz, bo cały dzień z tym walcze.
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 16:23:28
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
mysqli_result::fetch_array

Zwróć uwagę na kontekst.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
enbe
post 21.07.2009, 16:56:35
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.07.2009

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


Nic mi to nie mówi.
Skoro nie powiesz mi w czym błąd, to może wiesz czemu to działa poprawnie, a pokazuje że jest bład?
Kompletnie nie rozumiem czemu ten wynik nie jest obiektem.

Ten post edytował enbe 21.07.2009, 17:03:39
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 17:53:00
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To proponuję kurs PHP Obiektowego...

W skrócie: obiekt->metoda. U Ciebie jest zły obiekt, bo w nim nie ma tej metody.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
enbe
post 21.07.2009, 18:25:51
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.07.2009

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


To może powiesz mi jak zrobić, żeby był to "dobry" obiekt.
Skoro to zły obiekt i nie ma w nim tej metody, to dlaczego to działa?
Mam nadzieję, że rozumiesz, że chcę sprawić żeby to działało, zamiast serii dobrych porad teoretycznych.
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 18:43:21
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A mam nadzieję, że rozumiesz, że na gotowca nie masz co liczyć?

Cytat
Już metodą prób i błędów byś próbował inne zmienne podstawiać


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
enbe
post 21.07.2009, 19:00:30
Post #13





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.07.2009

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


Dzięki, że mi nie pomogłeś, możesz zamknąć temat, z pewnością jest wielu innych, którzy chętnie posłuchają "dobrych rad".

P.S. Nie wiem czy konkretną wskazówkę można nazwać gotowcem, choć pewnie tak myślisz.
Go to the top of the page
+Quote Post
nospor
post 22.07.2009, 07:39:12
Post #14





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




blad dostajesz, gdyz probujesz wykonac metode fetch_array() na zmiennej, ktora obiektem nie jest. Zawsze ci dzialalo bo query() zwracalo obiekt. Skoro ci teraz query() nie zwrocilo obiektu, znaczy ze zwrocilo ci false a co za tym idzie twoje zapytanie zakonczylo sie bledem. By zobaczyc blad musisz go wyswietlic:

  1. <?php
  2. //....
  3. $pobierz = $db->query($zapytanie);
  4. if (!$pobierz) die('zapytanie: '.$zapytanie.'----blad:'.$db->error);
  5. //....
  6. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.05.2025 - 07:45