KWALIFIKACJA INF3 - STYCZEŃ 2024 (test 2)

PYTANIE NR 24.
W języku PHP do nawiązania połączenia z serwerem baz danych należy zastosować funkcję
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
mysqli_connect() służy do utworzenia połączenia z serwerem bazy danych w PHP (MySQLi, styl proceduralny). Pozostałe funkcje dotyczą innych etapów pracy: mysqli_fetch_row() pobiera wiersz wyniku zapytania, mysqli_autocommit() ustawia tryb autocommit, a mysqli_get_connection_stats() zwraca statystyki połączenia.

Pełne wyjaśnienie:

W bibliotece MySQLi (MySQL improved) w PHP funkcja mysqli_connect() odpowiada za nawiązanie połączenia z serwerem bazy danych. To jest pierwszy krok przed wykonaniem jakichkolwiek zapytań SQL: aplikacja musi uzyskać uchwyt/identyfikator połączenia, który następnie przekazuje się do kolejnych funkcji (np. do wysyłania zapytań i pobierania wyników).

Dlaczego pozostałe odpowiedzi nie pasują do pytania:

  • mysqli_fetch_row() działa dopiero po wykonaniu zapytania i służy do pobrania pojedynczego wiersza z zestawu wyników (result set). Nie tworzy połączenia, tylko odczytuje dane zwrócone przez serwer.
  • mysqli_autocommit() dotyczy trybu zatwierdzania transakcji (autocommit włączony/wyłączony). To ustawienie ma sens dopiero wtedy, gdy połączenie już istnieje, bo modyfikuje zachowanie transakcyjne bieżącej sesji.
  • mysqli_get_connection_stats() służy do uzyskania statystyk/parametrów diagnostycznych dotyczących istniejącego połączenia. Sama nazwa wskazuje na "stats", czyli opis stanu, a nie inicjację połączenia.

Wskazówka egzaminacyjna: w pytaniach o "nawiązanie połączenia" szukaj funkcji z członem connect. Funkcje z fetch prawie zawsze dotyczą pobierania danych z wyniku zapytania, a te związane z autocommit/transaction odnoszą się do transakcji, nie do tworzenia połączenia.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
MySQLi to rozszerzenie PHP do komunikacji z bazami MySQL/MariaDB. Umożliwia nawiązanie połączenia, wykonywanie zapytań SQL, pobieranie wyników oraz obsługę transakcji. Występuje w stylu proceduralnym (funkcje mysqli_*) i obiektowym (klasa mysqli).
W stylu proceduralnym MySQLi używa się mysqli_connect(). Funkcja tworzy połączenie z serwerem bazy danych, a zwrócony uchwyt połączenia przekazuje się później do zapytań i innych operacji.
mysqli_fetch_row() działa na obiekcie wyniku zapytania (result set). Oznacza to, że połączenie i zapytanie muszą już istnieć. Funkcja tylko odczytuje kolejny wiersz danych z odpowiedzi serwera, a nie inicjuje połączenia.
mysqli_autocommit() włącza lub wyłącza automatyczne zatwierdzanie zmian w bazie (autocommit) dla danego połączenia. Używa się jej przy pracy z transakcjami, np. gdy chcesz wykonać kilka operacji jako jedną całość i zatwierdzić je dopiero na końcu.
To utworzenie sesji komunikacyjnej między aplikacją PHP a serwerem DB (np. MySQL/MariaDB) z użyciem hosta, loginu, hasła i opcjonalnie nazwy bazy. Dopiero po tym kroku można wykonywać zapytania SQL oraz pobierać i modyfikować dane.
Tak. Alternatywą jest podejście obiektowe MySQLi (np. utworzenie obiektu klasy mysqli) albo użycie PDO. Jednak w pytaniach o funkcję proceduralną MySQLi poprawną odpowiedzią będzie zwykle mysqli_connect().
Typowe problemy to: błędny host/port, niepoprawny login lub hasło, brak uprawnień do bazy, zła nazwa bazy oraz brak obsługi błędów połączenia. W praktyce warto sprawdzać wynik połączenia i komunikaty błędów, zanim przejdziesz do zapytań.
Funkcje do połączenia zawierają zwykle słowo connect i zwracają uchwyt połączenia. Funkcje pobierające dane mają najczęściej człon fetch i działają na wyniku zapytania. Jeśli funkcja wymaga obiektu wyniku, to nie jest funkcją łączenia.
mysqli_get_connection_stats() wykorzystuje się diagnostycznie, aby podejrzeć statystyki działania istniejącego połączenia (np. w analizie problemów wydajnościowych). Nie zastępuje funkcji łączenia, bo nie tworzy sesji z serwerem, tylko opisuje już zestawione połączenie.
Ucz się całego przepływu pracy: połączenie → zapytanie → pobieranie wyników → zamknięcie połączenia. Zrób krótkie ćwiczenia z MySQLi i/lub PDO, poznaj nazwy kluczowych funkcji oraz ich role. Na testach zwracaj uwagę, czy pytanie dotyczy połączenia, transakcji czy pobierania danych.
info

Około 72% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Eksperci podkreślają: "mysqli_connect() służy do utworzenia połączenia z serwerem bazy danych w PHP (MySQLi, styl proceduralny)."

Źródła:

  • PHP Manual: mysqli_connect — https://www.php.net/manual/en/function.mysqli-connect.php (dostęp: 2026-03-02)
  • PHP Manual: mysqli_fetch_row — https://www.php.net/manual/en/mysqli-result.fetch-row.php (dostęp: 2026-03-02)
  • PHP Manual: mysqli_autocommit — https://www.php.net/manual/en/mysqli.autocommit.php (dostęp: 2026-03-02)

Materiały:

  • Oficjalna dokumentacja PHP: rozszerzenie MySQLi (funkcje i przykłady)
  • Materiały kursowe dotyczące PHP + MySQL (łączenie, zapytania, pobieranie wyników)
  • Ćwiczenia praktyczne: napisanie skryptu łączącego się z DB i wykonującego proste SELECT

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego