![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Panowie mam pytanie odnośnie PDO. Otóż opiera swoją stronę o system smarty.
Podstrony wczytują się poprzez $_GET. W index.tpl mam includowany plik do slides.php (slides.tpl) W pliku slides.php robię tak:
Na chwilę obecną jest ok. Ale jeśli wstawie w index.php:
To wywala mi błąd: Błąd połączenia z baza danych: SQLSTATE[28000] [1045] Access denied for user Nie rozumiem, dlaczego, kolejne pytanie jakie mi się nasuwa czy za każdym razem gdy mam tworzyć zapytanie do bazy to mam robić try {} i catch {} ? Czy może wystarczy jak zrobię to w głównym pliku index.php a tam gdzie chce wyciągnąć zapytanie to po prostu robię:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 34 Dołączył: 16.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
nie jestem specjalista od PDO ale mozesz utworzyc klase do polaczenia z BD i potem tylko ja wczytywac poprzez require()
i potem
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@Star dzięki za kod, troszkę musiałem go przerobić, ale jest problem ponieważ nie wczytuje mi wartości:
Jeżeli wpiszę te dane to połączy mnie , jeżeli implementuje je z powyższych zmiennych to ni hu hu nie chce się mi połączyć. O co kaman z tym PDO. Ten post edytował casperii 28.03.2016, 12:46:24 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 34 Dołączył: 16.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@Star z tego co udało mi się wygooglować to PDO może mieć formę:
a może mieć też formę:
Grunt że działa, tylko że w twoim kodzie musiałem zrobić:
Nie wiem czy dobrze, czy źle (czy poprawnie stylistycznie/programistycznie:) ) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Panowie specjaliści powie mi ktoś poco wam 2 klasa która robi dokładnie to samo co klasa pdo?
Cytat SQLSTATE[28000] [1045] Access denied for user Dostałeś odpowiedź, dla tego usera nie ma dostepu do bazy bo nie ma uprawnień, a wy kombinujecie nie wiadomo co.. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@com to wskaż poprawność, bym Ja i wielu innych nie powielało błędów programowania.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
No po pierwsze to obiekt pdo się przekazuje, a nie tworzy wewnątrz klasy, teraz się stosuje IoC, nie singletony i inne takie.
Po drugie przykład Star Jest kompletnie bez sensu bo tam tylko PDO, zmienia nazwę na twoją własną, a klasa robi dokładnie to samo. U ciebie jeszcze gorzej require("db.php"); w konstruktorze? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@com może podać przykład ? bo nie wiem jak powinno wyglądać poprawnie. A jak już pisałem wcześniej nie chciałbym popełniać błędów.
db.php musiałem tam wstawić bo inaczej nie łączyło mnie z bazą, dopiero z chwilą wstawienia zaczęło łączyć. czy nikt nie zna odpowiedzi jak prawidłowo powinno wyglądać nawiązanie połączenia PDO? Wiem, że można wygooglować, ale skoro na forum ludzie wprowadzają innych w błąd - to skąd mam pewność, że to co człowiek wygoogluje będzie poprawnie napisane? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wykorzystaj jakiegoś ORM np Doctrine, lub zbuduj sobie prosta abstrakcje w oparciu o ten pattern https://github.com/domnikl/DesignPatternsPH...ural/DataMapper
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:48 |