![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio mało bywałem na forum, ponieważ min. tworzyłem [usunąłem linka] alek.
Ale nie w tym problem. ![]() Stworzyłem klasę do obsługi bazy danych mysql.
I nie działa. ![]() Cały kod wygląda tak.
Co jest źle? -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
1. Po jakie licho wstawiłeś ten sam kod dwa razy? Nie można było wstawić kody klasy, a potem kodu, który z nij korzysta :?:
2. Pisząc "nie działa" napisz coś więcej. Nadworny Jasnowidz forum jest na urlopie i ludzie nie będą się domyślać. Jeżeli chcesz uzyskać odpowiedź, włóż w pytanie trocę więcej wysiłku. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Co to jest? $this -> $sql_host
Usun '$' sprzed nazw pol: $this ->sql_host a poza tym je zadeklaruj i wlacz wyswietlanie bledow error_reporting( E_ALL ); -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 9.09.2005 Skąd: Sopot, Polska Ostrzeżenie: (0%) ![]() ![]() |
Ja bym jeszcze zrobił tak:
Dzięki temu nie marnujesz czasu na łączenie się z bazą jeżeli akurat zdarzy się strona która z niej nie korzysta (lub na przykład skrypt się wysypie). Przy pisaniu skryptów pod www dobrze jest pamiętać, że nic nie robi się na zapas, bo wszystkie zapasy znikają razem z requestem. Po drugie dobrze jest nie robić za dużo w konstruktorze klasy. -------------------- Michał Tatarynowicz, Sputnik!
|
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@mike_mech
1) Przepraszam za podwójne podanie kodu. Tak jakoś wyszło. ![]() 2) Napisałbym więcej na temat nie działania jakby więcej wiedział. Mam włączone błędy, mimo to pojawia się poprostu pusta strona. 3) Pozdrów ode mnie Nadwornego Jasnowidza. ![]() @pies 1) Skrypt na 100% będzie potrzebował połączenie z bazą danych. @all Czy wogóle jest sens dawać konstruktor/destruktor? Może lepiej dać wszystko w postaci zwykłych funkcji? --- Trochę zmieniełem. Efekt ten sam.
Ten post edytował Kas 15.09.2005, 16:56:20 -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) nie wybierasz bazy danych
2) zjadles nawias tak ma byc:
pozaym jak robisz: $this -> sql_host to zadeklaruj tą zmienną: private $sql_host; podobnie reszta -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Działa cudowanie.
Będę jeszcze ulepszał. Następne pytania postaram się dać w tym topicu, więc proszę na razie nie usuwać --- Wielkie podziękowania dla nospora! ![]() --- Kiedy uruchamia się destruktor? Czy w momencie wykonania skryptu? Cytat Natomiast co do destruktora... tego w ogóle nie wywoływaliśmy, zarówno jawnie, jak i niejawnie, a mimo to napis "Wywołanie destruktora" się pojawił. Co jest więc grane? Ano po prostu php w momencie kończenia pracy skryptu niszczył po kolei wszystkie obiekty, dla każdego z nich uruchamiając destruktor (o ile takowy istniał). To oznacza, że skrypt z destruktorem będzie mi zawsze po wykonaniu się zrywał połączenie z bazą danych? Ten post edytował Kas 15.09.2005, 17:19:05 -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
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%) ![]() ![]() |
Cytat To oznacza, że skrypt z destruktorem będzie mi zawsze po wykonaniu się zrywał połączenie z bazą danych? Tak. -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W takim razie muszę stworzyć zwykłą funkcją zamiast destruktora aby nie zamykać połączenia?
-------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Ale po co ci otwarte polaczenie po zakonczeniu skryptu, szczegolnie ze uzywasz mysql_connect (a nie *_pconnect).
Destruktor uruchamia sie przed zniszczeniem obiektu (ktory posiada ten destruktor). Obiekty sa niszczone automatycznie tuz przed zakonczeniem wykonywania skryptu (mozna to tez recznie robic). -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czy jak mam skrypt, który pobiera dane z bazy to po pobraniu wszystkich danych, wykonaniu wszytskich poleceń oraz wsyświetleniu wszystkich danych połączenie będzie zrywane i przy wejściu w dowolną podstronę będzie tworzone ponownie?
--- Próbuję ulepszyć klasę. Co jeszcze należy zmienić?
Ten post edytował Kas 15.09.2005, 22:00:03 -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 367 Pomógł: 2 Dołączył: 4.03.2003 Skąd: C:/Windows/Temp Ostrzeżenie: (0%) ![]() ![]() |
witam
dopiero zakupilem ksiazke o programowaniu oo w php5. I wlasnie skonczylem przerabiac rozdzial z polaczeniami ![]() ![]() czy
ten konstruktor jest potrzebny? czy nie lepiej trzymac ustwaienia w jakims pliku conf.php ? przeciez po require bedziemy miali dostep do tych ustawien. A i tak w konstruktorze nie wywolywane jest polaczenie. Moim zdaniem konstruktor jest zbedny ![]() oizdrawuan -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
A dlaczego nie zestawiać połączenia w konstruktorze ? Gdzieś zakazali
![]() To czy dane połaczenia będą w osobnym pliku ( jak ja robię ), czy może w stałych a może na sztywno w konstruktorze to tylko kwestia upodobań programisty - nic innego. Przepraszam za lekki OT. Nie robić OT dot połączeń z SQL-em bo zamkne -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:52 |