![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Właśnie chcę przejść z mysql do mysqli i ponad to z programowania strukturalnego do programowania obiektowego... Co robię źle, że poniższy kod nie działa, po dłuższym "mieleniu" strony wyskakuje błąd BAD GATEWAY...
-------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Ok, wiec byłoby tak?
ech dużo nauki przede mną;/ Powyższe rozwiąże sprawę? Ten post edytował miccom 13.02.2014, 11:02:10 -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Np.:
No ja ci skryptu pisać nie będę ; p poćwicz trochę to zapamiętasz ![]() Tu piszą różnice mysql miedzy mysqli http://funkcje.net/view/4/28/2375/ A tu coś ggotowego masz ; p http://funkcje.net/view/2/8/1585/index.html Polecam książke php i mysql dla każdego "Marcin Lis" masz w niej wszystko:D |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Skryptu nie musisz pisać, poza tym to co wskazujesz w linkach znam...
Twój przykład też sam bym sklecił bo inne skrypty o takiej konstrukcji działają...ale w funkcji nie działają... Sprawdzę ten uchwyt, może tutaj się krzaczy -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Dasz rade:D
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
No niestety...
Mimo wpisania uchwytu nie działa... Jak sprawdzić, co nie działa? Jest jakaś metoda na pokazanie co w zapytaniu jest nie tak? -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
A jakieś błędy ci chyba wyświetla?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie wiem jak w obiektowym projektowaniu wskazywać błędy...
W mysql strukturalnym wywalają się błędy, w obiektowym po prostu przeglądarka myśli... a następnie wskazuje BAD GATEWAY bez podania błędu... Czy po każdym zapytaniu do bazy muszę dać or trigger_error("Query Failed! SQL: $sql - Error: ".mysqli_error(), E_USER_ERROR); ![]() -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Bad gateway to nie wina obiektowego PHP. Jest coś takiego jak mysqli errno i ono powinno pokazać błąd. Zwykłe or die error powinno rozwiązać problem.
Ten post edytował Turson 13.02.2014, 12:53:19 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Jak dam taką wersję:
to wszystko działa poprawnie -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ w funkcji pobierz_dane, nie "widzi" obiektu $this z funcji connect_with_database.
-------------------- śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu.. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie wiem jak w obiektowym projektowaniu wskazywać błędy... http://www.php.net/manual/pl/class.mysqli-sql-exception.php Poszukaj w dokumentacji o wyjątkach. Nie opłaca ci się bardziej przejść na PDO? -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 8 Dołączył: 7.07.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ w funkcji pobierz_dane, nie "widzi" obiektu $this z funcji connect_with_database. Jak w ciele funkcji dam global $this; towywala błąd że nie mogę dwa razy deklarować tego samego $this... Ale przed wywołaniem funkcji łączę się z bazą... Mam się połączyć w ciele funkcji pobierz_dane ? http://www.php.net/manual/pl/class.mysqli-sql-exception.php Poszukaj w dokumentacji o wyjątkach. Nie opłaca ci się bardziej przejść na PDO? A co do PDO to w kursie który "przerabiam" instruktor mówił, że PDO jest wolniejsze... U mnie cały skrypt jest strukturalnie napisany w mysql, teraz przechodzę na mysqli i obiektowe rozwiązania. W większości skryptów działa pięknie... natomiast w tym sie krzaczy i nie porafię znaleźć, co jest nie tak. -------------------- Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU! |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A co do PDO to w kursie który "przerabiam" instruktor mówił, że PDO jest wolniejsze... U mnie cały skrypt jest strukturalnie napisany w mysql, teraz przechodzę na mysqli i obiektowe rozwiązania. W większości skryptów działa pięknie... natomiast w tym sie krzaczy i nie porafię znaleźć, co jest nie tak. A podparł swoje teorie testami? Nawet jeśli będzie różnica w tysięcznej części sekundy na poziomie sterownika nie ma to znaczenia dla zapytania trwającego kilka sekund. A skoro już uczysz się czegoś nowego warto stosować IMO rozwiązania które wszyscy wykorzystują. Większość DBAL opiera się głównie na PDO, jest bardziej przejrzyste i uporządkowane. No i nie musisz zastanawiać się jak obsługiwać błędy. -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat No i nie musisz zastanawiać się jak obsługiwać błędy. A co w kosmos je wyślesz ![]() Poza tym kolejny argument jest taki, że w każdej chwili możesz zmienić silnik BD na inny nie zmieniając nic w kodzie. Możesz z MySQL powędrować do SQLite np. ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
Nawet jeśli będzie różnica w tysięcznej części sekundy na poziomie sterownika nie ma to znaczenia dla zapytania trwającego kilka sekund. skoro zapytanie wykonuje się kilka sekund to zapewne trzeba je zmienić. A skoro już uczysz się czegoś nowego warto stosować IMO rozwiązania które wszyscy wykorzystują nie wszyscy. Ja używam mysqli, więc Twoja teoria padła ![]() za to mogę powiedzieć że z mysqli korzystają prawie wszyscy ![]() Poza tym kolejny argument jest taki, że w każdej chwili możesz zmienić silnik BD na inny nie zmieniając nic w kodzie. Możesz z MySQL powędrować do SQLite np. ![]() jest to argument który słyszę zawsze w dyskusjach "dlaczego pdo jest lepsze". Tylko jakoś nigdy nie miałem takiej potrzeby... tym bardziej że w wielu przypadkach wymagałoby to dokonania zmian samej bazy i zapytań |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
tym bardziej że w wielu przypadkach wymagałoby to dokonania zmian samej bazy i zapytań Zgadza się. Ale o ile nie wykorzystuje się jakichś dziwacznych konstrukcji SQL to każda baza łyknie. I fakt nie codziennie zmienia sie BD, a jeżeli już taka zmiana następuje to pewnie tez następuje ze zmianą silnika ![]() |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
mysql używa do "izolacji" słów kluczowych w nazwach tabel/kolumn znaku ` a mssql []
mysql podczas grupowania pozwala na wyświetlenie kolumn których niema w GROUP BY, większość innych baz nie postgresql pozwala na tworzenie typów tablicowych i złożonych, mysql nie czy to są dziwaczne konstrukcje ? nie, to są konstrukcje wykorzystywane w tych silnikach na co dzień, a jednocześnie są to różnice uniemożliwiającą przejście od tak |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:38 |