KWALIFIKACJA INF3 - CZERWIEC 2023

PYTANIE NR 38.
W języku PHP, aby połączyć się z bazą danych MySQL przy pomocy biblioteki mysqli, stosując zamieszczony zapis, w miejscu litery 'c' należy zapisać
Ilustracja przedstawia fragment kodu w języku PHP, który jest używany do połączenia z bazą danych MySQL za pomocą biblioteki
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W połączeniu MySQLi do serwera MySQL podaje się m.in. adres/host, nazwę użytkownika, hasło oraz nazwę bazy.
W przedstawionym zapisie litera "c" wskazuje parametr odpowiedzialny za identyfikację konta, czyli nazwę użytkownika. Pozostałe opcje dotyczą innych elementów konfiguracji połączenia.

Pełne wyjaśnienie:

Połączenie aplikacji PHP z serwerem MySQL przy użyciu biblioteki MySQLi wymaga przekazania danych uwierzytelniających oraz informacji, z jakim serwerem i (opcjonalnie) z jaką bazą danych pracujemy. W typowych wywołaniach MySQLi występują parametry odpowiadające za:

  • host (lokalizację serwera bazy danych, np. localhost lub adres IP),
  • użytkownika (login do serwera MySQL),
  • hasło (tajne hasło dla tego konta),
  • bazę danych (nazwę schematu, do którego aplikacja ma się domyślnie przełączyć).

W tym zadaniu kluczowe jest, że pytanie nie prosi ogólnie o listę danych potrzebnych do połączenia, tylko o wskazanie, co należy wpisać w miejsce oznaczone literą "c" w podanym zapisie. Poprawna jest odpowiedź "nazwę użytkownika.", bo to właśnie login identyfikuje konto, na które aplikacja ma się uwierzytelnić.

Dlaczego pozostałe propozycje są błędne?

  • "nazwę bazy danych." – nazwa bazy jest innym parametrem: wybiera schemat, ale nie służy do uwierzytelnienia.
  • "hasło użytkownika." – hasło jest osobnym argumentem; mylenie go z loginem skutkuje typowym błędem "Access denied…".
  • "lokalizację serwera bazy danych." – host/serwer określa, gdzie jest MySQL, ale nie zastępuje danych konta.

Wskazówka egzaminacyjna: jeśli widzisz w zadaniu MySQLi, zawsze rozdziel w głowie dwie grupy informacji: gdzie jest serwer (host) oraz kim się loguję (użytkownik + hasło). To pomaga uniknąć pomyłek między podobnymi parametrami.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
MySQLi to rozszerzenie PHP do komunikacji z bazą MySQL/MariaDB. Umożliwia m.in. nawiązanie połączenia, wykonywanie zapytań, użycie zapytań przygotowanych oraz pobieranie wyników. W praktyce stosuje się je w aplikacjach WWW do pracy z danymi użytkowników, zamówień czy treści.
Najczęściej potrzebujesz: hosta (gdzie jest serwer), nazwy użytkownika (login), hasła oraz często nazwy bazy danych. Dodatkowo mogą pojawić się port i socket. Na egzaminie zwracaj uwagę, o który konkretnie argument pyta zadanie.
Nazwa użytkownika identyfikuje konto w serwerze MySQL. Serwer na jej podstawie sprawdza uprawnienia (np. dostęp do bazy, tabel, operacji). Hasło jedynie potwierdza, że aplikacja rzeczywiście zna sekret przypisany do tego konta.
Nazwa użytkownika dotyczy logowania do serwera (uwierzytelnienie), a nazwa bazy dotyczy wyboru schematu, na którym pracujesz. Jeśli opcje zawierają też host i hasło, to zwykle komplet rozdziela się na: host / użytkownik / hasło / baza.
Najczęściej wtedy, gdy podasz błędną parę użytkownik–hasło albo konto nie ma prawa logowania z danego hosta. Ten błąd rzadziej wynika z nazwy bazy. W diagnostyce najpierw sprawdza się login, hasło i uprawnienia, a dopiero potem resztę konfiguracji.
Na egzaminie oba podejścia mogą się pojawić. MySQLi jest specyficzne dla MySQL/MariaDB, a PDO jest bardziej uniwersalne (różne bazy). Kluczowe jest rozumienie ról parametrów połączenia i umiejętność czytania kodu. W zadaniach z literami (a, b, c, d) liczy się dopasowanie argumentu.
Typowe pomyłki to zamiana miejscami użytkownika i hasła albo pomylenie hosta z nazwą bazy. Dzieje się tak, bo wszystkie parametry są napisami (string), więc błąd jest logiczny, a nie składniowy. Pomaga zapamiętanie: gdzie / kto / sekret / na czym pracuję.
Najlepiej poza kodem widocznym publicznie: w pliku konfiguracyjnym poza katalogiem publicznym albo w zmiennych środowiskowych. Dane dostępowe nie powinny trafiać do repozytorium. Na egzaminie często spotkasz uproszczone przykłady w jednym pliku, ale w praktyce stosuje się separację konfiguracji.
Po utworzeniu połączenia sprawdza się, czy nie wystąpił błąd (np. kod/komunikat błędu) i ewentualnie wykonuje proste zapytanie testowe, np. pobranie wersji serwera lub odczyt z tabeli. W zadaniach egzaminacyjnych ważne jest też poprawne zamknięcie połączenia, jeśli jest wymagane.
Przećwicz kilka krótkich skryptów: połączenie, proste SELECT, INSERT oraz obsługę błędów. Utrwal role parametrów (host, użytkownik, hasło, baza) i naucz się rozpoznawać je w kodzie. Dodatkowo przejrzyj przykłady zapytań przygotowanych, bo często są uznawane za dobrą praktykę.
info

To pytanie poprawnie rozwiązuje 61% zdających egzamin. średnie

W praktyce zawodowej kluczowe jest to, że pozostałe opcje dotyczą innych elementów konfiguracji połączenia.

Źródła:

  • PHP Manual: mysqli_connect — opis parametrów funkcji, https://www.php.net/manual/en/function.mysqli-connect.php (dostęp: 2026-03-02)
  • PHP Manual: mysqli::__construct — opis argumentów konstruktora, https://www.php.net/manual/en/mysqli.construct.php (dostęp: 2026-03-02)
  • PHP Manual: MySQLi Quickstart — Connection, https://www.php.net/manual/en/mysqli.quickstart.connections.php (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja PHP: MySQLi (mysqli_connect oraz klasa mysqli)
  • Ćwiczenia praktyczne: stworzenie pliku config.php i test połączenia z bazą
  • Materiały o różnicach MySQLi vs PDO i o obsłudze wyjątków/błędów połączeń

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego