Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: "Call to a member function" po przeniesieniu
Forum PHP.pl > Forum > PHP > Object-oriented programming
ComBox
Witam!
Po przeniesieniu serwisu na nowy serwer otrzymuję komunikat z błędem:

Kod
Fatal error: Call to a member function MoveNext() on a non-object in /******/public_html/libs/modules/artykuly.inc.php on line 26


  1. <?php
  2. function ArtykulyKategorie( $kat=NULL )  {
  3.    global $db;
  4.    $out = array();
  5.    $q = 'SELECT K.IdKategoria, K.Nazwa
  6.                    FROM Artykul A
  7.                    LEFT JOIN Kategoria K
  8.                        ON K.IdKategoria=A.IdKategoria
  9.                    WHERE A.Opublikowany='tak'
  10.                    GROUP BY K.IdKategoria
  11.                    ORDER BY K.Nazwa';
  12.    $rs = $db->Execute( $q );
  13.    while( !$rs->EOF )  {
  14.        if( !empty( $rs->fields['Nazwa'] ) && !empty( $rs->fields['IdKategoria'] ) )  {
  15.            if( EncodeString( $kat ) == EncodeString( $rs->fields['Nazwa'] ) )  {
  16.                $wybrany = 'tak';
  17.            }
  18.            else  {
  19.                $wybrany = 'nie';
  20.            }
  21.            $out[] = array(     'nazwa' =>$rs->fields['Nazwa'],
  22.                                                    'wybrany' => $wybrany,
  23.                                                    'id' => $rs->fields['IdKategoria'] );
  24.        }
  25.        $rs->MoveNext();
  26.    }
  27.    
  28.    return $out;
  29. }
  30. ?>


26 linia tyczy się:

  1. <?php
  2. $rs->MoveNext();
  3. ?>


Dodam, że na "starym" serwerze wszystko jest ok i działa bez najmniejszych problemów.
Czym to może być spowodowane?

Pozdrawiam i dzięki za pomoc
starach
Masz błąd. Prawdopodobnie w zapytaniu. Cały wic polega na tym że $rs = $db->Execute( $q ); nie zwraca ci obiektu.
Nie kojarzę tego sterownika bazy danych więc musisz sam sprawdzić jak wyświetla się błędy.
Dodatkowo możesz wstawić po linijce 13stej kod echo gettype($rs); będziesz przynajmniej wiedział jaki typ ci zwraca.

edit>
Lub zamiast echo gettype po prostu użyć var_dump()
ComBox
Problem rozwiązany guitar.gif
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.