KWALIFIKACJA INF3 - WRZESIEŃ 2015

PYTANIE NR 36.
Polecenie pg_connect języka PHP służy do połączenia się z bazą
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Funkcja pg_connect w PHP pochodzi z rozszerzenia pgsql i służy do nawiązania połączenia z serwerem bazy danych PostgreSQL (np. z użyciem hosta, portu, nazwy bazy i danych logowania). Inne silniki wymagają innych bibliotek, więc nie będzie to MS SQL, MySQL ani Access.

Pełne wyjaśnienie:

W PHP dostęp do baz danych realizuje się przez konkretne rozszerzenia (biblioteki) lub warstwy pośrednie, które są powiązane z określonym silnikiem bazy.

Funkcja pg_connect należy do zestawu funkcji rozszerzenia pgsql. Jej zadaniem jest zestawienie połączenia z serwerem PostgreSQL na podstawie parametrów połączenia (np. adres serwera, port, nazwa bazy, użytkownik, hasło). Dlatego odpowiedź "PostgreSQL" jest właściwa: nazwa funkcji i jej przynależność do rozszerzenia jednoznacznie wskazują na ten silnik.

Pozostałe odpowiedzi są niepoprawne, bo w PHP korzysta się z innych interfejsów dla innych systemów:

  • MS SQL: typowo używa się dedykowanych sterowników (np. rozszerzenia sqlsrv) lub PDO z odpowiednim sterownikiem, a nie funkcji z prefiksem pg_.
  • MySQL: obsługiwany jest m.in. przez rozszerzenie mysqli (np. funkcje z rodziny mysqli_) albo przez PDO, a nie przez pg_connect.
  • MS Access: jest inną technologią (często plikową) i integracja w PHP realizowana bywa np. przez ODBC/PDO ODBC, a nie przez bibliotekę PostgreSQL.

Wskazówka egzaminacyjna: warto zapamiętać, że nazwy funkcji w PHP często zdradzają silnik przez prefiks (np. pg_, mysqli_). W praktyce projektowej często spotyka się również użycie PDO, które ujednolica sposób pracy z różnymi bazami, ale nadal wymaga właściwego sterownika dla danego silnika.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
pg_connect to funkcja PHP z rozszerzenia pgsql, która służy do zestawienia połączenia z serwerem bazy danych PostgreSQL. Przyjmuje napis połączenia zawierający m.in. adres serwera, port, nazwę bazy oraz dane logowania.
Najprościej po prefiksie pg_ oraz po dokumentacji rozszerzenia pgsql. W PHP prefiksy funkcji często odpowiadają konkretnym bibliotekom/sterownikom i wskazują, dla jakiego silnika są przeznaczone.
Bo pg_connect jest częścią biblioteki dla PostgreSQL. Do MySQL używa się innych interfejsów, np. mysqli lub PDO z odpowiednim sterownikiem. Zmiana samej nazwy bazy nie wystarczy, potrzebny jest właściwy sterownik.
Dla MySQL typowe jest rozszerzenie mysqli (np. funkcje z rodziny mysqli_*) albo PDO. Na egzaminie warto kojarzyć, że pg_* → PostgreSQL, a mysqli → MySQL/MariaDB.
Tak. PDO to warstwa ujednolicająca dostęp do różnych baz danych w PHP. Nadal jednak potrzebujesz odpowiedniego sterownika PDO dla PostgreSQL oraz poprawnego DSN. Funkcja pg_connect pozostaje alternatywą specyficzną dla PostgreSQL.
Najczęściej: host (adres serwera), port, dbname (nazwa bazy), user i password. W praktyce dochodzą też ustawienia SSL, kodowania oraz parametry czasu oczekiwania na połączenie.
MS Access to inna technologia niż serwerowe bazy typu PostgreSQL. Zwykle jest to baza plikowa i w PHP łączy się z nią innymi mechanizmami (np. ODBC), a nie przez funkcje z rozszerzenia pgsql.
Częsty błąd to wybór "najpopularniejszej" bazy bez analizy nazwy funkcji, albo mylenie bibliotek (np. założenie, że każda funkcja connect działa z każdym silnikiem). Pomaga skojarzenie prefiksów: pg_ dla PostgreSQL, a inne prefiksy dla innych baz.
Nie zawsze. PHP musi mieć włączone odpowiednie rozszerzenie (pgsql) i środowisko musi mieć możliwość komunikacji z serwerem PostgreSQL (sieć, porty, uprawnienia). Bez tego sama funkcja w kodzie nie zapewni działającego połączenia.
Ucz się mapowania: funkcja/rozszerzenie → silnik bazy (np. PostgreSQL vs MySQL vs MS SQL). Przećwicz też podstawowe elementy konfiguracji połączenia (host, port, baza, użytkownik, hasło) oraz rozumiej, że różne silniki wymagają różnych sterowników lub PDO.
info

Statystycznie 77% uczniów zna prawidłową odpowiedź. średnio łatwe

Specjaliści zwracają uwagę: "Funkcja pg_connect w PHP pochodzi z rozszerzenia pgsql i służy do nawiązania połączenia z serwerem bazy danych PostgreSQL (np. z użyciem hosta, portu, nazwy bazy i danych logowania)."

Źródła:

  • PHP Manual: pg_connect — Open a connection to a PostgreSQL database, https://www.php.net/manual/en/function.pg-connect.php (dostęp: 02.03.2026)
  • PHP Manual: PostgreSQL (pgsql) extension, https://www.php.net/manual/en/book.pgsql.php (dostęp: 02.03.2026)
  • PHP Manual: sqlsrv_connect (Microsoft Drivers for PHP for SQL Server), https://www.php.net/manual/en/function.sqlsrv-connect.php (dostęp: 02.03.2026)

Materiały:

  • Dokumentacja PHP: rozszerzenie pgsql i funkcja pg_connect
  • Dokumentacja PHP: PDO i obsługa różnych sterowników baz danych
  • Materiały kursowe z podstaw baz danych i integracji z aplikacjami webowymi (PHP + DB)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego