![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 169 Pomógł: 16 Dołączył: 18.10.2006 Skąd: Olsztyn/Wrocław Ostrzeżenie: (0%)
|
Projekt, który wykonuje razem ze znajomymi na studiach wymaga ode mnie, abym przyswoił w dość szybkim czasie programowanie obiektowe:) jednak jak to zawsze bywa przy nauce, napotkałem pewien problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mam taki skrypt:
W linii 25 otrzymuje, że jest błąd: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Widać, że nie otrzymuje polecenia SQL-owego, jednak jak zrobie echo $this->zapytanie, zapytanie wyświetla mi się, więc nie wiem gdzie jest błąd. Proszę o pomoc:) |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%)
|
Przypisujesz w linii 23 wartość do $query a nie do $this->query, innymi słowy ustawioną masz zmienną lokalną, a pobierasz właściwość obiektu.
Zmień $this->query na $query |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 169 Pomógł: 16 Dołączył: 18.10.2006 Skąd: Olsztyn/Wrocław Ostrzeżenie: (0%)
|
Niestety to nie rozwiązało problemu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) A mógłbyś mi wyjaśnić jeśli możesz oczywiście jeszcze jaśniej, różnicę pomiędzy zwykłą zmienną $query a $this->$query. Ja to rozumiem tak, że przez pisanie $this-> wskazuje konkretnie na tą zmienną.
Ten post edytował Danone 25.05.2007, 12:49:33 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 10.12.2006 Ostrzeżenie: (0%)
|
Danone, nie rozumiem dlaczego tworzysz jeden obiekt klasy w celu połączenia się z bazą, a potem nagle drugi, żeby coś z niej wydobyć. Wydaje mi się, że łatwiej byłoby operować na jednym obiekcie Twojej klasy. Odwołanie do $this->query to odwołanie do zmiennej, będącej właściwością obiektu klasy. Takiej zmiennej nie masz nigdzie zadeklarowanej. Poniżej jest Twój kod po małym tuningu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . W każdym razie, inaczej napisałbym tą klasę :roll2: . Staraj się też korzystać ze zmiennych prywatnych i chronionych, gdzie to tylko możliwe. Aha, nigdzie nie wybierałeś tabeli z bazy danych. Poprawione zostało tylko kilka rzeczy. Dalsza koncepcja zależy tylko i wyłącznie od Twojej inwencji.
Ten post edytował c0cr0ach 26.05.2007, 00:03:44 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 169 Pomógł: 16 Dołączył: 18.10.2006 Skąd: Olsztyn/Wrocław Ostrzeżenie: (0%)
|
Wcześniej udało mi się to poprawić i jakoś działało, ale widzę, że twój przykład jest bardziej obiektowy niż mój (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 19.12.2025 - 20:16 |