Jak użyć bazę PostgreSQL w PHP?

Cześć. Chciałem się podzielić czymś, czego się ostatnio nauczyłem. Może ten przewodnik będzie przydatny później, ale chciałbym pokazać, jak używać PostgreSQL w PHP. Mam nadzieję, że ten poradnik będzie dla ciebie przydatny.

Do pracy rodacy

Zakładam, że skonfigurowaliśmy środowisko do pracy. Ja na swoim komputerze korzystam z serwera Laragon. Przełączyłem się na to, gdy XAMPP złamał moją bazę danych i nie mogłem odzyskać danych. Pamiętaj także aby pobrać samą bazę danych, którą będziemy używać, czyli jak nie inaczej PostgreSQL. Myślę że proces instalacji możemy sobie darować.

Pobranie DLLki

Na samym początku będziemy musieli pobrać DLL z PHP PostgreSQL, domyślnie nie jest on wbudowany w serwer Windows Apache. DLLkę można pobrać tutaj. Ponadto znajduje się w nim instrukcja, która bardziej szczegółowo omawia proces instalacji DLL.

W pobranej paczce mamy 2 pliki. W środku znajduje się instrukcja instalacji, aby go poprawnie skonfigurować należy wykonać kilka zadań oraz sam plik DLL.

Umieść plik w dwóch folderach na komputerze:

C:\Windows\System32
C:\Windows\SysWOW64

Następnym krokiem jest aktywacja tego pliku w pliku konfiguracyjnym PHP w pliku php.ini. U mnie ten plik znajduje się w tym katalogu:

C:\laragon\bin\php\php-7.2.19-Win32-VC15-x64\php.ini

Otwieramy go za pomocą dowolnego edytora i na końcu pliku dodajemy 2 liniki.

extension=php_pdo_pgsql.dll
extension=php_pgsql.dll

W ten sposób powinniśmy już mieć dostęp do bazy danych PostgreSQL.

Nawiązanie połączenia z bazą danych

Następnym procesem jest utworzenie bazy danych w PgAdmin. Aby go uruchomić, uruchom serwer PostgreSQLi przejdź pod następujący link:  http://127.0.0.1:52516/browser/

Screenshot_36.jpg

Jeśli uda nam się uruchomić oraz zalogować na swoje konto, powinniśmy uzyskać ten widok. Domyślnie mam ustawiony szablon PgAdmin na ciemny.

Screenshot_37.jpg

Kolejnym procesem jest utworzenie bazy danych. Screenshot_39.jpg

Utwórzmy bazę danych o nazwie „bystrabaza”. Nie zmieniam nic innego w konfiguracji.

Screenshot_38.jpg

Wybieram bazę danych -> schematy -> tabele -> klikam prawym -> utwórz -> tabela. Ten widok bazy danych jest nieco bardziej skomplikowany niż w MySQL, ale jest da się do niego przyzwyczaić.

Screenshot_40.jpg

Nazywamy tabelę posts.

Screenshot_42.jpg

Dodajemy kolumny do danej tabeli. W moim przypadku będzie to id o typie bigserial oraz zaznaczam klucz główny, który nie może być nullem oraz title typu character varying, który nie jest nullem. Jest to taki odpowiednik varchara. Kilkam zapisz. Podczas ostatniego screena popełniłem mały błąd, ale jeśli wszystko zaznaczysz tak jak jest będzie dobrze.

Do tabeli trzeba dodać jakieś dane. Możesz samodzielnie napisać zapytanie INSERT INTO, ewentualnie możesz skorzystać z gotowca, którego dla Ciebie przygotowałem.

INSERT INTO posts (id, title) VALUES (1, 'Tworzenie własnej aplikacji SaaS Case Study Salon w Chmurze'),(2, 'Czym jest AJAX?'), (3, 'Maj 2018 podsumowanie miesiąca blogowania')

Screenshot_43.jpg

Aby wykonać zapytanie, musimy upewnić się, że mamy odpowiednią zaznaczoną bazę danych. Następnie kliknij ikonę oznaczoną drugą strzałką, na samym końcu wpisz odpowiednie zapytanie. Kliknij F5 i zobaczysz komunikat, że dane zostały dodane. Aby upewnić się, że możesz wykonać zapytanie wyszukujące:

SELECT * FROM posts

Kod w PHP

Screenshot_44

Tak wygląda mój kod, który łączy się z moją bazą danych za pomocą biblioteki PDO.

Ustawiam dane do logowania. Korzystam z localhosta jako hosta, dbname u mnie to bystrabaza, następnie nazwa użytkownika – u mnie to będzie „postgres”, a samym końcu podajemy hasło.

W następnym kroku tworzę pętlę foreach, w której wypisuje tytuł postu z bazy danych.

To wszystko zamykam w bloku try catch, który pozwoli mi wyłapać wyjątki.

Rezultat

Screenshot_45

A tak prezentuje się nasz rezultat na stronie. Udało nam się wypisać wszystkie tytuły z bazy danych.

Podsumowanie

 

 

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s