Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 22:24
  • Data zakończenia: 8 czerwca 2026 22:37

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Aby zdefiniować w języku HTML listę nienumerowaną (wypunktowaną), należy użyć znacznika:

A.
<ul>
B.
<dd>
C.
<dt>
D.
<ol>
Listę nienumerowaną (wypunktowaną) tworzy znacznik <ul> (unordered list), a jej kolejne pozycje umieszcza się w <li>. Domyślnie elementy poprzedzane są punktorami. Dla listy numerowanej używa się <ol>. Dlatego listę wypunktowaną definiuje <ul>.

Pytanie 2

Aby przygotować czytelne zestawienie danych z bazy, przeznaczone do wydruku, należy posłużyć się:

A. formularzem
B. raportem
C. kwerendą INSERT
D. indeksem
Pozostałe odpowiedzi dotyczą innych zadań niż prezentacja danych. Formularz to interfejs do wprowadzania i edycji rekordów - pomaga zasilać bazę, ale nie tworzy zestawień do druku. Kwerenda INSERT również służy do zapisu: dodaje nowe wiersze do tabeli, więc nie ma związku z prezentacją. Indeks to mechanizm przyspieszający wyszukiwanie i sortowanie - działa „w tle” i niczego nie wyświetla użytkownikowi. Czytelne zestawienie danych gotowe do wydruku przygotowuje raport, dlatego to on jest poprawną odpowiedzią.

Pytanie 3

Aby edytować nakładające się na siebie pojedyncze fragmenty grafiki, pozostawiając resztę bez zmian, należy zastosować:

A. warstwy
B. kadrowanie
C. histogram
D. kanał alfa
Warstwy to podstawowy mechanizm edytorów grafiki (np. GIMP, Photoshop): każdy element umieszcza się na osobnej warstwie, niczym na przezroczystej folii, a leżące wyżej zasłaniają niższe. Dzięki temu można edytować, przesuwać lub ukrywać pojedynczy fragment, nie naruszając pozostałych. To właśnie warstwy pozwalają pracować nad nakładającymi się elementami niezależnie - i dlatego są poprawną odpowiedzią.

Pytanie 4

Które z rozszerzeń NIE jest związane z plikiem wideo?

A. MP4
B. MOV
C. GIF
D. AVI
Pozostałe rozszerzenia to formaty WIDEO: AVI, MP4 i MOV to kontenery przechowujące obraz ruchomy (zwykle z dźwiękiem). GIF jest inny - to format graficzny/animacja bez dźwięku, więc to on nie należy do plików wideo.

Pytanie 5

Aby wygodnie wprowadzać i edytować dane w bazie danych, można posłużyć się:

A. kwerendą SELECT
B. formularzem
C. filtrowaniem
D. raportem
Trzy pozostałe pojęcia dotyczą oglądania lub wyszukiwania danych, a nie ich zmiany. Raport przygotowuje dane do prezentacji i wydruku w czytelnej formie, ale jest tylko do odczytu. Filtrowanie pozwala zawęzić widok do wierszy spełniających warunek - ułatwia odnalezienie informacji, lecz niczego nie modyfikuje. Kwerenda SELECT pobiera dane z tabel i również ich nie edytuje (do zmian służą INSERT, UPDATE, DELETE). Wygodne wprowadzanie i edycję danych zapewnia formularz, który daje gotowe pola powiązane z kolumnami tabeli.

Pytanie 6

Na listingu kodu JavaScript w wykropkowanej części definicji obiektu osoba należy wpisać kod, który prawidłowo obsłuży instrukcję osoba.j = "PL"; Który to będzie kod?

 var osoba = {
    imie: "Jan",
    jezyk: "EN",
    set j(nazwa) {  ...  }
};
A. this.jezyk = nazwa;
B. this.j = nazwa;
C. return this.j;
D. return this.jezyk;
Twoja odpowiedź jest poprawna. W pytaniu mamy do czynienia z obiektem 'osoba' w JavaScript, który posiada właściwości 'imie' i 'jezyk'. Właściwość 'jezyk' jest obsługiwana przez setter 'set j(nazwa)', którego zadaniem jest przypisanie wartości do tej właściwości. Instrukcja 'osoba.j = "PL";' oznacza, że chcemy ustawić wartość 'PL' dla właściwości 'jezyk'. Aby to osiągnąć, setter musi przypisać tę wartość do właściwości 'jezyk'. Dlatego poprawnym kodem jest 'this.jezyk = nazwa;'. 'This' w tym kontekście odnosi się do obiektu 'osoba', a 'nazwa' to wartość, którą chcemy przypisać do właściwości 'jezyk'. To przykład dobrej praktyki zarządzania stanem obiektu w JavaScript, a także dobrej praktyki tworzenia setterów, które są integralną częścią programowania zorientowanego obiektowo.

Pytanie 7

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';
Wskaź, które zapytanie zwróci te same dane.
A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 8

W języku C++ stworzono zmienną char zm1[10]; Czym jest ta zmienna?

A. liczbą
B. tablicą znaków
C. znakiem
D. tablicą łańcuchów
Zmienna char zm1[10] w języku C++ jest tablicą znaków, co oznacza, że może przechowywać do 10 pojedynczych znaków. Tablice znaków są szeroko stosowane w programowaniu do reprezentacji łańcuchów tekstowych. W C++ tablice są strukturami, które umożliwiają przechowywanie kolekcji elementów tego samego typu. Zmienna char zm1[10] alokuje pamięć dla 10 znaków, gdzie każdy znak jest typu char. Dzięki temu możemy wykorzystać taką tablicę do przechowywania napisów, takich jak imiona, tytuły czy inne teksty. Przykładowo, możemy przypisać do tej tablicy łańcuch znaków: 'Hello', co wymaga dodatkowego miejsca dla znaku null ('\0'), co oznacza koniec łańcucha. W praktyce, aby przypisać wartość do zmiennej, możemy użyć funkcji strncpy lub strcat. Zgodnie z dobrymi praktykami, warto zawsze pamiętać o maksymalnym rozmiarze tablicy, aby uniknąć przepełnienia bufora, które może prowadzić do poważnych błędów w programie. Przy tworzeniu aplikacji, które operują na tekstach, znajomość tablic znaków jest kluczowa i niezbędna dla prawidłowego zarządzania danymi tekstowymi."

Pytanie 9

W semantycznym HTML odpowiednikiem elementu <b>, który nie tylko pogrubia tekst, ale także wskazuje na jego większe znaczenie, jest

A. <em>
B. <strong>
C. <ins>
D. <mark>
Znacznik <strong> w HTML semantycznym służy nie tylko do pogrubienia tekstu, ale także do wskazania, że dany fragment ma większe znaczenie w kontekście semantycznym. Zgodnie z zaleceniami W3C, użycie tego znacznika poprawia dostępność treści, ponieważ technologie wspomagające, takie jak czytniki ekranu, interpretują <strong> jako tekst o podwyższonej wadze, co może pomóc w lepszym zrozumieniu struktury dokumentu przez osoby z niepełnosprawnościami. Przykładem zastosowania może być podkreślenie ważnych informacji na stronie, takich jak zasady, ostrzeżenia czy kluczowe dane, które użytkownicy powinni zauważyć. W praktyce, stosowanie elementów semantycznych, takich jak <strong>, zamiast czysto stylistycznych, jest zgodne z zasadami budowania stron przyjaznych dla użytkowników i poprawia SEO, ponieważ wyszukiwarki mogą lepiej analizować kontekst treści. Warto pamiętać, że w przypadku użycia <strong>, nie zmienia to tylko sposobu wyświetlania, ale także wzbogaca znaczenie tekstu w kontekście całej strony.

Pytanie 10

Jakie polecenie pozwala na zwiększenie wartości o jeden w kolumnie RokStudiów w tabeli Studenci dla uczniów, którzy są na roku 1÷4?

A. UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5
B. UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5
C. UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5
D. UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5
Odpowiedź 'UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5;' jest prawidłowa, ponieważ poprawnie wykorzystuje składnię SQL do aktualizacji wartości w tabeli. W tym przypadku, polecenie zmienia wartość kolumny RokStudiow o jeden dla wszystkich studentów, którzy mają przypisany rok studiów mniejszy niż 5. Użycie 'SET RokStudiow = RokStudiow+1' jest zgodne z zasadą aktualizacji danych, gdzie przypisanie nowej wartości korzysta z obecnej wartości i modyfikuje ją. W praktyce, takie operacje są niezbędne w systemach zarządzania bazami danych, zwłaszcza w kontekście obliczeń związanych z postępem akademickim studentów, a przestrzeganie standardów SQL pomaga w utrzymaniu spójności i integralności danych. Dobrą praktyką jest również wykonanie operacji aktualizacji w sposób, który minimalizuje ryzyko utraty danych oraz zwiększa efektywność zapytań, co jest istotne w dużych bazach danych.

Pytanie 11

Które źródło danych może posłużyć do utworzenia raportu?

A. etykieta
B. zapytanie SELECT
C. projekt raportu
D. zapytanie ALTER
Źródłem danych raportu może być zapytanie SELECT - pobiera ono z bazy konkretne dane, które raport następnie formatuje i wyświetla lub drukuje. Dlatego źródłem raportu jest zapytanie SELECT.

Pytanie 12

Które z poniższych stwierdzeń dotyczących klucza głównego jest poprawne?

A. Składa się wyłącznie z jednego pola
B. Jest unikalny w obrębie tabeli
C. Może przyjmować tylko wartości numeryczne
D. W tabeli z danymi osobowymi może to być pole z nazwiskiem
Klucz podstawowy to atrybut lub zestaw atrybutów, który jednoznacznie identyfikuje każdy rekord w tabeli bazy danych. Najważniejszym wymogiem jest, aby klucz podstawowy był unikalny dla każdego wiersza, co oznacza, że nie może być powtórzony w obrębie tej samej tabeli. Przykładem może być numer identyfikacyjny (np. PESEL, NIP) przypisany do konkretnej osoby, który gwarantuje, że każda osoba w tabeli danych osobowych jest jednoznacznie identyfikowalna. Stosowanie kluczy podstawowych jest zgodne z zasadami normalizacji baz danych, co pozwala na minimalizację redundancji danych oraz poprawę integralności danych. Klucz podstawowy może składać się z jednego lub więcej pól, co daje elastyczność w projektowaniu bazy danych, aby pasowała do specyficznych potrzeb aplikacji. Dobre praktyki wskazują, że klucz podstawowy powinien być stabilny, czyli nie zmieniać się w czasie, oraz prosty do zaimplementowania i używania w zapytaniach SQL.

Pytanie 13

Aby poprawnie udokumentować poniższą linię kodu, po znakach // należy dodać komentarz, że linia ta:

document.getElementById("tytul").style.color = "red"; //
A. zmienia treść elementu o id „tytuł” na słowo „red”
B. zawiera błąd składniowy i nie zadziała
C. tworzy nowy element o id „tytuł”
D. zmienia kolor tekstu elementu o id „tytuł” na czerwony
document.getElementById("tytul") odnajduje element strony o id „tytuł”, a przypisanie do jego właściwości style.color zmienia kolor tekstu tego elementu. Wartość "red" oznacza kolor czerwony. W efekcie tekst elementu „tytuł” staje się czerwony. Dlatego komentarz powinien mówić, że linia zmienia kolor tekstu elementu o id „tytuł” na czerwony.

Pytanie 14

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej w MS SQL Server?

A. zwykłego użytkownika (Users)
B. użytkownika zabezpieczeń
C. administratora systemu
D. użytkownika lokalnego
Tworzenie i przywracanie kopii zapasowej całej bazy w MS SQL Server to operacja krytyczna dla bezpieczeństwa danych, dlatego wymaga najwyższych uprawnień - poziomu administratora systemu (np. roli sysadmin). Zwykły użytkownik bazy ich nie ma. Dlatego do backupu i przywracania potrzebne są uprawnienia administratora systemu.

Pytanie 15

Głównym celem systemu CMS jest oddzielenie treści portalu informacyjnego od jego wyglądu. Taki efekt osiąga się przez generowanie zawartości

A. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
B. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
C. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
D. z bazy danych oraz wyglądu za pomocą atrybutów HTML
Wybór błędnych odpowiedzi wskazuje na niepełne zrozumienie architektury systemów zarządzania treścią. Odpowiedzi sugerujące generowanie zawartości z 'statycznych plików HTML' nie uwzględniają kluczowej zasady, jaką jest elastyczność i efektywność dynamicznego zarządzania treścią. Statyczne pliki HTML są trudne do aktualizacji, co powoduje, że zmiany w treści są czasochłonne i zwiększają ryzyko błędów. Przykładowo, w przypadku wprowadzenia istotnych zmian w treści, takich jak aktualizacje informacji o produktach, każda zmiana wymagałaby ręcznej edycji wielu plików, co jest niepraktyczne i nieefektywne. Ponadto, wykorzystanie technologii FLASH do generowania wyglądu jest przestarzałym podejściem, które nie jest już wspierane przez większość nowoczesnych przeglądarek internetowych. FLASH nie tylko ogranicza dostępność treści na urządzeniach mobilnych, ale także stwarza zagrożenia związane z bezpieczeństwem. Ostatecznie, podejścia te nie są zgodne z najlepszymi praktykami branżowymi, które kładą nacisk na wykorzystanie responsywnych, łatwych w zarządzaniu szablonów i dynamicznych baz danych, co jest kluczowe dla sukcesu nowoczesnych aplikacji internetowych.

Pytanie 16

Aby zaimportować plik z danymi SQL do bazy danych MySQL, można użyć narzędzia:

A. Symfony 3
B. phpMyAdmin
C. FileZilla
D. TotalCommander
phpMyAdmin to popularne, dostępne przez przeglądarkę narzędzie do administrowania bazą MySQL/MariaDB. Pozwala tworzyć bazy i tabele, przeglądać i edytować dane, wykonywać zapytania SQL, a także eksportować i importować dane. Import pliku .sql sprowadza się do wybrania bazy, zakładki Import i wskazania pliku - phpMyAdmin wykona zawarte w nim polecenia. Dlatego to właśnie phpMyAdmin służy do zaimportowania pliku z danymi SQL.

Pytanie 17

W CSS, aby zmienić kolor tekstu dowolnego elementu HTML po najechaniu na niego myszą, należy wykorzystać pseudoklasę

A. :hover
B. :coursor
C. :visited
D. :active
:hover jest pseudoklasą wykorzystywaną w CSS do stylizacji elementów w momencie, gdy użytkownik na nie najedzie kursorem. To bardzo przydatne narzędzie, pozwalające na interaktywne zmiany wyglądu strony internetowej, co znacznie poprawia doświadczenia użytkownika. Przykładem zastosowania może być zmiana koloru tekstu linków. Można to osiągnąć, definiując odpowiednie reguły CSS, takie jak: `a:hover { color: red; }`, co spowoduje, że linki zmienią kolor na czerwony, gdy na nie najedziemy. Pseudoklasa :hover jest zgodna z W3C CSS, a jej zastosowanie w projektowaniu stron zapewnia lepszą dostępność i intuitwność interfejsu. Warto pamiętać, że efekty hover powinny być subtelne i dobrze przemyślane, aby nie odwracać uwagi od głównych treści strony, ale jednocześnie umożliwić użytkownikom szybkie zauważenie działań, które mogą podjąć.

Pytanie 18

Zdefiniowano poniższą funkcję w PHP:

function policz($Z) {
    while($Z < 5) {
        $Z += 2 * $Z + 1;
    }
    return $Z;
}
Funkcję policz wywołano z wartością argumentu $Z = 1. Jaki rezultat zostanie zwrócony?
A. 4
B. 7
C. 1
D. 13
Twoja odpowiedź jest na miejscu. Funkcja 'policz' w PHP działa jak pętla, która powoli zwiększa wartość zmiennej $Z, dopóki nie jest większa niż 5. W każdej iteracji dodaje do niej wynik z wyrażenia 2 * $Z + 1. Zaczynamy z $Z równym 1. W pierwszej iteracji wychodzi 3 ($Z = 2 * 1 + 1), a w drugiej – 13 ($Z = 2 * 3 + 1). Kiedy $Z przekracza 5, pętla się zatrzymuje, a funkcja 'policz' zwraca 13. Rozumiejąc, jak to działa, łatwiej przewidywać, co się stanie w podobnych funkcjach.

Pytanie 19

Dla celu strony internetowej stworzono grafikę rysunek.jpg o wymiarach: szerokość 200 px, wysokość 100 px. Aby zaprezentować tę grafikę jako miniaturę – pomniejszoną z zachowaniem proporcji, można użyć znacznika

A. <img src="/rysunek.png" style="width: 25px; height:25px;">
B. <img src="/rysunek.png" style="width: 50px">
C. <img src="/rysunek.png">
D. <img src="/rysunek.png" style="width: 25px; height:50px;">
Wybór innych opcji, takich jak <img src="/rysunek.png" style="width: 25px; height:50px;"> czy <img src="/rysunek.png" style="width: 25px; height:25px;"> prowadzi do nieproporcjonalnego wyświetlenia obrazu, co skutkuje jego zniekształceniem. Ustalenie zarówno szerokości, jak i wysokości w stylach CSS sprawia, że obrazek jest zmuszony do dopasowania się do tych wymiarów, co narusza jego naturalne proporcje. To podejście jest niezgodne z zaleceniami dotyczącymi responsywności, które sugerują, aby ograniczać się do jednego wymiaru, co pozwala drugiemu na automatyczne dostosowanie. Typowym błędem jest przyjęcie, że podanie obu wymiarów w pikselach zawsze przyniesie optymalny efekt wizualny, co jest mylące i może prowadzić do złego doświadczenia użytkownika. Zniekształcenie obrazów nie tylko obniża estetykę strony, ale także może wpływać na jej użyteczność oraz SEO. Dobrą praktyką jest również używanie atrybutów 'alt' w znacznikach obrazów, aby poprawić dostępność i SEO, co nie zostało uwzględnione w żadnej z opcji. Warto także zauważyć, że stosowanie odpowiednich formatów obrazów i ich optymalizacja pod względem rozmiaru pliku są kluczowe dla przyspieszenia ładowania strony.

Pytanie 20

Która funkcja SQL zwraca DŁUGOŚĆ (liczbę znaków) tekstu?

A.
NOW
B.
LEN
C.
YEAR
D.
UPPER
Pozostałe funkcje robią co innego. YEAR wyciąga ROK z daty, NOW zwraca bieżącą datę i czas, a UPPER zamienia litery na wielkie. Liczbę znaków tekstu zwraca LEN/LENGTH.

Pytanie 21

Która z komórek tabeli została sformatowana przedstawionym stylem CSS zakładając, że pozostałe własności przyjmują wartości domyślne?

td {
  border: 1px solid black;
  padding: 15px;
  height: 40px;
  vertical-align: bottom;
}
dane w tabeli


dane w tabelidane w tabelidane w tabeli
Komórka 1Komórka 2Komórka 3Komórka 4
A. Komórka 1.
B. Komórka 4.
C. Komórka 3.
D. Komórka 2.
Gratulacje, to jest prawidłowa odpowiedź! Styl CSS, który został podany, określa, że komórka tabeli ma obramowanie o grubości 1px i kolorze czarnym, wewnętrzny margines (padding) o wielkości 15px, wysokość 40px oraz wyrównanie tekstu do dołu (vertical-align: bottom). Komórka 3. jest jedyną, która spełnia te kryteria - tekst jest wyrównany do dołu, a komórka ma widoczne obramowanie i odpowiednią wysokość. Formatowanie CSS jest kluczowym aspektem projektowania stron internetowych, które pozwalają na personalizację wyglądu elementów na stronie. Kiedy formatujesz komórkę tabeli w CSS, musisz zwrócić uwagę na szczegóły, takie jak wysokość, wewnętrzny margines, narożniki i wyrównanie tekstu. Wszystko to wpływa na ostateczny wygląd i doświadczenie użytkownika na stronie. Pamiętaj, że praktyka jest kluczem do zrozumienia, jak te elementy razem pracują, dlatego zawsze warto eksperymentować z różnymi ustawieniami.

Pytanie 22

Jaki jest efekt wielokrotnego wykonywania kodu PHP?

if (!isset($_COOKIE["ciastko"]))
    $zm = 1;
  else
    $zm = intval($_COOKIE["ciastko"]) + 1;
setcookie("ciastko", $zm);
A. dodanie danych do ciasteczka tylko przy pierwszym wejściu na stronę
B. zapisanie do ciasteczka wartości 1 przy każdym odświeżeniu witryny
C. pokazanie ciasteczka z zapisanym parametrem
D. zliczanie liczby wizyt na stronie
Program w PHP pokazany w pytaniu wykorzystuje mechanizm ciasteczek do zliczania liczby odwiedzin strony przez użytkownika. Mechanizm ten opiera się na zmiennej 'ciastko', która jest przechowywana w ciasteczku w przeglądarce użytkownika. Przy pierwszym uruchomieniu strony, jeśli ciasteczko nie istnieje, ustawiana jest jego wartość na 1. W kolejnych odwiedzinach wartość ta jest odczytywana i zwiększana o 1, a następnie ponownie zapisywana do ciasteczka. Dzięki temu użytkownik, odświeżając stronę, widzi aktualizowaną liczbę odwiedzin. Takie rozwiązanie jest skuteczne w śledzeniu aktywności użytkownika na stronie, ale ma swoje ograniczenia. Na przykład, jeśli użytkownik wyczyści ciasteczka w swojej przeglądarce, licznik zostanie zresetowany, co może być niepożądane w niektórych aplikacjach. Zliczanie odwiedzin z wykorzystaniem ciasteczek jest jednak popularnym podejściem ze względu na prostotę implementacji i brak potrzeby skomplikowanej infrastruktury serwerowej. W praktyce, dla bardziej zaawansowanej analizy odwiedzin, często korzysta się również z narzędzi analitycznych, jak Google Analytics, które pozwalają na śledzenie użytkowników bez wpływu na ich lokalne ustawienia przeglądarki

Pytanie 23

Aby w jezyku CSS ustawic czerwony kolor dla tekstu, mozna uzyc stylu:

A.
color: rgb(255,0,0);
B.
text-color: rgb(255,0,0);
C.
color: rgb(#FF0000);
D.
text-color: rgb(#FF0000);
Kolor tekstu w CSS ustawia wlasciwosc color, a nie zadna inna nazwa - to ona odpowiada za barwe znakow elementu. Wartosc mozna podac na kilka sposobow, a jednym z nich jest funkcja rgb(), ktora przyjmuje trzy skladowe: czerwona, zielona i niebieska, kazda w zakresie od 0 do 255. Zapis rgb(255,0,0) oznacza pelne nasycenie czerwieni przy zerowej zieleni i zerowym blekicie, czyli czysty czerwony. Dlatego deklaracja color: rgb(255,0,0); jest jedyna poprawna sposrod podanych - laczy wlasciwa wlasciwosc z prawidlowo zapisana funkcja rgb().

Pytanie 24

Jakie wartości zwróci funkcja wypisz2) napisana w języku JavaScript?

Ilustracja do pytania
A. 3 4 6 8
B. 2 3 4 6
C. 3 4 6
D. 6
W przypadku przedstawionego pytania istotne jest zrozumienie jak działa struktura iteracyjna oraz warunkowa w języku JavaScript. Funkcja wypisz operuje na zmiennej a która jest modyfikowana wewnątrz pętli. Pętla for wykonuje sześć iteracji przy czym każda z nich zwiększa wartość a o 1. Warto zauważyć że warunek if sprawdza podzielność zmiennej a przez 2 lub 3. Elementy takie jak 2 które mogą się wydawać poprawne nie spełniają warunku ponieważ są wynikiem pierwszego zwiększenia a nie pierwszej wartości która spełnia warunek if. Zrozumienie operacji modulo i jego zastosowania w tym kontekście jest kluczowe dla prawidłowej interpretacji działania funkcji. Często spotykanym błędem jest zakładanie że każda liczba naturalna w sekwencji iteracji zostanie wypisana co prowadzi do niepoprawnych wniosków. Analizowanie kodu linia po linii i rozumienie działania operacji logicznych oraz arytmetycznych jest podstawą dobrego programowania oraz przygotowania do rozwiązywania tego typu zadań egzaminacyjnych. Kluczowe jest także zrozumienie że w programowaniu operujemy na zmiennych i ich wartościach wynikających z określonych operacji a nie tylko na ich początkowych wartościach.

Pytanie 25

Którą wartość zwróci funkcja zapisana w języku C++, jeżeli jej parametrem wejściowym jest tablica wypełniona w następujący sposób: tablica[6] = {3, 4, 2, 4, 10, 0};?

int fun1(int tab[]) {
    int wynik = 0;
    for (int i = 0; i < 6; i++)
        wynik += tab[i];
    return wynik;
}
A. 10
B. 23
C. 0
D. 960
Gratulacje, Twoja odpowiedź jest poprawna. W języku C++ funkcja zwraca sumę wszystkich elementów w tablicy. W podanym pytaniu mamy tablicę z sześcioma elementami, którymi są liczby: 3, 4, 2, 4, 10, 0. Dodając te liczby otrzymujemy 23, co jest poprawną odpowiedzią. To jest typowy scenariusz, kiedy potrzebujemy obliczyć sumę wszystkich elementów w tablicy. Na przykład, możemy mieć program, który oblicza średnią wartość z zestawu danych. W takim przypadku najpierw musimy zsumować wszystkie elementy, a następnie podzielić przez ich liczbę. Pamiętaj, że w języku C++ tablice indeksowane są od zera, co oznacza, że pierwszy element tablicy ma indeks 0, a ostatni element ma indeks o jeden mniejszy niż rozmiar tablicy. Jest to powszechny standard w programowaniu i jest istotny do zrozumienia, jak działają tablice.

Pytanie 26

Po wykonaniu poniższego kodu JavaScript, który operuje na wcześniej przygotowanej tablicy liczby, w zmiennej wynik znajduje się suma

var wynik = 0;
for (i = 0; i < 100; i++)
  if (liczby[i] % 2 == 0)
    wynik += liczby[i];
A. wszystkich elementów tablicy
B. parzystych elementów tablicy
C. nieparzystych elementów tablicy
D. dodatnich elementów tablicy
Przedstawiony kod JavaScript oblicza sumę wszystkich parzystych elementów tablicy liczby. W języku JavaScript operator modulo (%) jest używany do obliczania reszty z dzielenia. W tym przypadku liczby[i] % 2 == 0 sprawdza, czy dany element tablicy liczby jest parzysty. Jeśli reszta z dzielenia przez 2 wynosi 0, oznacza to, że liczba jest parzysta. Dlatego każda parzysta liczba z tablicy jest dodawana do zmiennej wynik. Warto zauważyć, że pętla for przechodzi przez pierwsze 100 elementów tablicy, co sugeruje, że tablica liczby musi mieć co najmniej 100 elementów. Tego typu operacje są często wykorzystywane w praktycznych zastosowaniach, takich jak analiza danych, gdzie konieczne jest filtrowanie i przetwarzanie określonych wartości z dużych zbiorów danych. Dobre praktyki zalecają, aby zrozumieć zarówno składnię, jak i zastosowanie operacji warunkowych i pętli, co jest kluczowe w efektywnym programowaniu. Takie rozwiązania są fundamentem optymalnego przetwarzania danych, a ich zrozumienie umożliwia tworzenie bardziej złożonych algorytmów.

Pytanie 27

 SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel"; 

Tabela samochody zawiera rekordy przedstawione na obrazie. Wydając przedstawione zapytanie SQL zostaną zwrócone dane:
idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
A. opel zafira; opel insignia
B. zafira; insignia
C. zafira
D. opel zafira
Gratulacje, twoja odpowiedź jest poprawna. Zapytanie SQL 'SELECT model FROM samochody WHERE rocznik > 2017 AND marka = 'opel';' ma na celu wyświetlenie modelu samochodu marki 'opel' z roku produkcji późniejszego niż 2017. Analizując dostępną tabelę, możemy zauważyć, że tylko model 'zafira' spełnia oba kryteria. W tym przypadku wykorzystaliśmy dwa kluczowe elementy języka SQL, tj. instrukcję SELECT i klauzulę WHERE. Instrukcja SELECT służy do zapytań o konkretne dane z bazy, a klauzula WHERE to powszechnie stosowane narzędzie do filtrowania wyników zapytania według określonych kryteriów. Jest to bardzo praktyczny aspekt SQL, który pozwala na wydobywanie tylko tych danych, które są potrzebne, co jest niezwykle przydatne przy dużych bazach danych.

Pytanie 28

Który fragment kodu stanowi zamiennik dla kodu umieszczonego w ramce?

Ilustracja do pytania
A. B
B. C
C. A
D. D
Odpowiedzi B i D są nieprawidłowe ponieważ ignorują kluczową część logiki oryginalnego kodu mianowicie filtrację parzystych liczb. Odpowiedź B iteruje przez wszystkie liczby od 1 do 55 wypisując je wszystkie bez wyjątku co diametralnie odbiega od zamierzonego wyniku kodu źródłowego. Odpowiedź D jest identyczna z B z tym że format zapisu jest nieco odmienny nie ma to jednak wpływu na logikę działania co czyni ją również błędną. Odpowiedź C inicjuje pętlę od 2 i inkrementuje x o 2 co teoretycznie powinno zbliżyć się do rozwiązania jednak zakres iteracji kończy się na 56 co wykracza poza zadany limit 55 oraz wypisuje nieistniejącą w oryginalnej pętli dodatkową liczbę co jest błędne. Wybory te mogą wynikać z niewłaściwego zrozumienia zakresu pętli lub metody przeskakiwania wartości co jest częstym błędem przy interpretacji pętli iteracyjnych. Kluczowe jest zrozumienie jak zastosowana logika i zakres wpływają na wynik końcowy oraz jak można optymalnie odwzorować te zasady w alternatywnym kodzie.

Pytanie 29

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik=2016;
Jakie wartości zostaną zwrócone w wyniku tego zapytania?
Ilustracja do pytania
A. Punto, Corsa, Corolla
B. Fiat, Opel, Toyota
C. Czerwony, grafitowy
D. Punto, Corsa, Astra, Corolla, Yaris
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 30

Aby obraz w filmie zmieniał się gładko, liczba klatek (niezachodzących na siebie) w ciągu sekundy musi mieścić się przynajmniej w zakresie

A. 20 do 23 fps
B. 16 do 19 fps
C. 31 do 36 fps
D. 24 do 30 fps
Odpowiedź '24 do 30 fps' jest na miejscu, bo w tym zakresie klatki na sekundę zapewniają naprawdę płynny obraz w filmach. Standard to 24 fps, co uznaje się za minimalną liczbę klatek, aby widzowie widzieli ruch jako gładki, a nie poskakujący. W praktyce w telewizji oraz przy niektórych formatach wideo można spotkać się z 30 fps, co jeszcze bardziej poprawia wrażenia wizualne. Warto tu wspomnieć, że wiele produkcji, zwłaszcza animacji, trzyma się tych standardów. Na przykład, filmy animowane z 24 fps mają dobrą dynamikę, ale w transmisjach sportowych często korzysta się z 30 fps, żeby lepiej uchwycić szybko poruszające się obiekty. Ostatecznie, trzymanie się tych standardów w filmach i telewizji to klucz do dobrego odbioru wizualnego.

Pytanie 31

Fragment kodu w języku PHP przedstawia się następująco (patrz ramka): W wyniku wykonania pętli zostaną wyświetlone liczby

Ilustracja do pytania
A. 0, 4, 8, 12, 16
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
C. 0, 4, 8, 12, 16, 20
D. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
Pętla for w PHP to naprawdę podstawowe narzędzie, które pozwala nam w łatwy sposób powtarzać różne operacje na danych. W tej pętli zaczynamy od $i równego 0, a kończymy, kiedy $i osiągnie 20. W każdej iteracji dodajemy 4 do $i, więc wypisujemy liczby od 0 do 20, co 4 jednostki. Super sprawa, jeśli chcemy równomiernie przetwarzać dane. Przykładowo, gdy mamy jakieś tabele z danymi albo potrzebujemy wygenerować wykresy w regularnych odstępach, to taka pętla się przydaje. Stosowanie pętli to też dobra praktyka programistyczna, bo automatyzuje nam powtarzalne zadania, co czyni kod bardziej przejrzystym. Jak zrozumiesz, jak działa ta pętla, to dużo łatwiej będzie ci tworzyć różne algorytmy, co jest super ważne w informatyce.

Pytanie 32

Który atrybut należy dodać do znacznika <video>, aby wyciszyć dźwięk odtwarzanego w przeglądarce filmu?

<video>
    <source src="film.mp4" type="video/mp4">
</video>
A. autoplay
B. muted
C. controls
D. loop
Twoja odpowiedź jest poprawna. Atrybut 'muted' jest używany w znaczniku <video>, aby wyłączyć dźwięk dla filmu wyświetlanego w przeglądarce. Jest to sposób na sterowanie dźwiękiem bez konieczności korzystania z dodatkowych elementów kontrolujących odtwarzanie filmu. Jest to bardzo przydatne, gdy chcemy, aby film był odtwarzany w tle bez zakłócania użytkownika dźwiękiem, co jest często stosowane na stronach internetowych. Ważne jest to, że to atrybut 'muted' jest odpowiedzialny za początkowy stan dźwięku filmu, a nie za to, czy użytkownik będzie mógł go później włączyć. Dodatkowo, dobrą praktyką jest pozostawienie użytkownikowi możliwości sterowania dźwiękiem, nawet jeśli jest on domyślnie wyłączony, co można osiągnąć dodając atrybut 'controls'.

Pytanie 33

Kiedy dane z formularza są przesyłane w sposób jawny jako parametry w adresie URL, w skrypcie PHP można je odczytać za pomocą tablicy

A. $_SESSION
B. $_COOKIE
C. $_POST
D. $_GET
Odpowiedź 1 jest poprawna, ponieważ dane przesyłane w postaci jawnej jako parametry w adresie URL są dostępne w PHP poprzez tablicę superglobalną $_GET. Ta tablica przechowuje dane, które zostały przesłane metodą GET. Przykład użycia: jeśli mamy adres URL w formie 'example.com/page.php?name=Jan&age=25', to w skrypcie PHP możemy uzyskać te wartości poprzez $_GET['name'] i $_GET['age']. Wartością $_GET['name'] będzie 'Jan', a $_GET['age'] to '25'. Jest to standardowa praktyka w PHP, umożliwiająca łatwe pozyskiwanie danych w różnych aplikacjach webowych, szczególnie w kontekście wyszukiwania i filtracji wyników. Ważne jest jednak pamiętanie o bezpieczeństwie i sanitizacji danych wejściowych, ponieważ wartości te mogą być modyfikowane przez użytkowników. Użycie funkcji takich jak htmlspecialchars() może pomóc w zapobieganiu atakom XSS, a filter_input() w walidacji danych. Dobrą praktyką jest także unikanie przesyłania wrażliwych informacji w adresie URL, ponieważ mogą być one widoczne w historii przeglądarki oraz serwerowych logach.

Pytanie 34

Aby utworzyć nową bazę danych, należy użyć polecenia SQL:

A.
CREATE DATABASE
B.
NEW DATABASE
C.
CREATE TABLE
D.
ALTER DATABASE
Nową bazę danych zakłada polecenie CREATE DATABASE, po którym podaje się jej nazwę, np. CREATE DATABASE sklep. Dopiero w utworzonej bazie tworzy się tabele poleceniem CREATE TABLE. Oba należą do języka DDL. Dlatego do utworzenia bazy służy CREATE DATABASE.

Pytanie 35

W znaczniku meta w miejsce kropek należy wpisać

<meta name="description" content="…">
A. informację o dostosowaniu do urządzeń mobilnych.
B. nazwę edytora.
C. język dokumentu.
D. streszczenie treści strony.
Mówiąc, że w znaczniku meta w polu 'content' trzeba umieścić nazwę edytora, to trochę nie na miejscu. Opis strony powinien odnosić się do tego, co właściwie na niej jest, a nie do narzędzia, którym została zrobiona. Tak samo mówienie o definicji języka dokumentu w tym miejscu jest błędne, bo powinno się to robić z atrybutem 'lang' w znaczniku <html>. Wstawianie informacji o wersji mobilnej do pola 'content' znacznika meta też wprowadza w błąd, bo takie rzeczy zazwyczaj są podawane przez odpowiednie style CSS i znacznik <meta name='viewport'>. Często użytkownicy mogą się mylić, myśląc że te informacje można zamieścić w opisie, co jest nieprawda. Każda z tych odpowiedzi pokazuje, że nie do końca rozumiesz, jak działają znaczniki meta i jaka jest ich rola przy tworzeniu stron. Ważne jest, żeby znać gdzie i jak używać różnych atrybutów, bo to wpływa na SEO i na to, jak strona wygląda w wynikach wyszukiwania oraz jakie wartościowe informacje dostarczasz użytkownikom.

Pytanie 36

Wskaż element, który definiuje pole edycyjne formularza zgodne z ilustracją

Ilustracja do pytania
A. <input type="time" id="minutes" name="hours">
B. <input type="date" id=" minutes" name="hours">
C. <input type="month" id="hh" name="mm">
D. <input type="number" id="mm" name="hh" min="0" max="24">
Prawidłowy wybór to <input type="time" id="minutes" name="hours">, ponieważ dokładnie taki element HTML5 służy do wprowadzania godziny w formacie hh:mm, czyli tak jak na ilustracji. Atrybut type="time" mówi przeglądarce, że pole ma przyjmować tylko wartości czasu, bez daty, miesięcy czy liczb dowolnego typu. Zgodnie ze specyfikacją HTML Living Standard oraz HTML5, przeglądarka powinna wtedy wyświetlić natywne kontrolki do wyboru godziny (np. rozwijane listy, suwak, mały zegarek – zależy od systemu i przeglądarki). Dzięki temu użytkownik ma mniejsze ryzyko pomyłki, a walidacja odbywa się częściowo automatycznie.
Z mojego doświadczenia warto korzystać z type="time" zawsze, gdy formularz dotyczy konkretnych godzin, np. godzina rozpoczęcia pracy, rezerwacja wizyty, planowanie spotkania online. Po stronie serwera (np. w PHP) to pole przychodzi jako tekst w formacie „HH:MM”, co jest łatwe do dalszego przetwarzania, parsowania do obiektu DateTime albo zapisu w bazie danych w typie TIME.
Dobra praktyka jest też taka, żeby nazwy atrybutów id i name były semantyczne. W tym zadaniu nie ma to wpływu na poprawność odpowiedzi, ale w realnym projekcie lepiej byłoby użyć np. id="endTime" i name="end_time". Ułatwia to później pracę z JavaScriptem i po stronie backendu. Warto też pamiętać o dodaniu atrybutów min i max, jeśli chcemy ograniczyć zakres godzin (np. od 08:00 do 20:00), oraz pattern lub dodatkowej walidacji JS, jeśli mamy specyficzne wymagania. Mimo że ilustracja nie pokazuje tych szczegółów, sam mechanizm type="time" jest tu absolutnie kluczowy i zgodny z dobrymi praktykami front-endowymi.

Pytanie 37

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. grupowania.
C. sumy.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno.
Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji.
Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 38

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_use_result()
B. mysqli_num_rows()
C. mysqli_field_count()
D. mysqli_affected_rows()
Gratulacje! Wybrałeś poprawną odpowiedź, która jest funkcją mysqli_affected_rows(). Ta funkcja jest specyficzna dla języka PHP i jest używana do zwracania liczby wierszy, które zostały zmienione, dodane lub usunięte przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. W kontekście operacji takich jak INSERT, UPDATE, REPLACE lub DELETE, mysqli_affected_rows() jest nieocenionym narzędziem do śledzenia ilości wykonanych zmian w bazie danych. Dlatego właśnie w przypadku przedstawionego pytania, gdzie w kodzie PHP wykonano operację UPDATE na bazie danych, idealnym rozwiązaniem jest użycie funkcji mysqli_affected_rows() do pobrania liczby zmienionych wierszy. Jest to kluczowe zrozumienie, aby efektywnie manipulować danymi w bazach danych MySQL za pomocą języka PHP.

Pytanie 39

Jakie jest poprawne zapisanie tagu HTML?

<a href="#hobby">przejdź</a>
A. jest błędny, w atrybucie href powinien być podany adres URL
B. jest prawidłowy, po kliknięciu w odnośnik otworzy się strona pod adresem "hobby"
C. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do elementu o nazwie "hobby"
D. jest błędny, użyto niewłaściwego znaku # w atrybucie href
Znaczniki HTML są podstawowym narzędziem tworzenia stron internetowych a ich prawidłowe zastosowanie ma kluczowe znaczenie dla funkcjonalności i użyteczności witryny. W omawianym przypadku atrybut href='#hobby' używa tzw. kotwicy która służy do nawigacji wewnętrznej w obrębie jednej strony. Linki wewnętrzne są istotne gdyż pozwalają na szybkie przeskakiwanie do określonych sekcji dokumentu. W odpowiedziach błędnych zauważalne są pewne nieporozumienia. Po pierwsze jeśli w href użyto adresu URL bez znaku hash oznacza to próbę przekierowania na zupełnie inną stronę co jest niepoprawne w kontekście nawigacji wewnętrznej. Podanie pełnego adresu URL jest wymagane jedynie gdy chcemy przejść do innej strony internetowej. Znak hash w tym kontekście jest poprawny gdyż wskazuje na docelowy identyfikator wewnątrz tej samej strony. Jest to zgodne z praktykami tworzenia przejrzystych i funkcjonalnych interfejsów użytkownika. Nieprawidłowe interpretacje mogą wynikać z braku zrozumienia jak działają kotwice w HTML co może prowadzić do błędów w projektowaniu doświadczenia użytkownika oraz kodu o niskiej użyteczności. Edukacja i praktyka w używaniu standardowych znaczników HTML jest niezbędna dla tworzenia profesjonalnych projektów internetowych które są przyjazne dla użytkowników i działają zgodnie z oczekiwaniami. Rozumienie tych zasad pozwala na tworzenie stron zgodnych z najlepszymi praktykami branżowymi co ma kluczowe znaczenie dla współczesnych wymagań projektowych i użytkowych.

Pytanie 40

Do czego służy w PHP funkcja mysqli_num_rows()?

A. do ponumerowania rekordów w bazie
B. do zwrócenia LICZBY wierszy w wyniku zapytania
C. do zwrócenia kolejnego rekordu wyniku
D. do zwrócenia rekordu o numerze z parametru
Po wykonaniu zapytania SELECT często chcesz wiedzieć, ILE wierszy zwróciło - i właśnie to podaje mysqli_num_rows($wynik). Przyjmuje obiekt wyniku zapytania, a zwraca liczbę pasujących rekordów, np. if (mysqli_num_rows($wynik) == 0) echo "Brak danych";. To typowy sposób sprawdzenia, czy logowanie się powiodło albo czy wyszukiwanie coś znalazło. Zapamiętaj: „num_rows” = liczba (number) wierszy (rows) w wyniku.