Funkcja zapisana językiem PHP służy do
$zapytanie = mysqli_query($polaczenie, "SELECT * FROM napisy");
A. połączenia z bazą danych.
B. ustawienia hasła do bazy danych.
C. pobrania danych z bazy danych.
D. zabezpieczenia bazy danych.
Opracowane na podstawie zadania CKE, czerwiec 2015 (arkusz E.14-X-15.05): Przestarzała funkcja mysql_query zamieniona na mysqli_query (rozszerzenie mysql usunięto w PHP 7).
Poprawna odpowiedź to „pobrania danych z bazy danych”. Funkcja mysqli_query($polaczenie, "SELECT * FROM napisy") wykonuje zapytanie SQL na wskazanym połączeniu z bazą danych. Pierwszy argument, czyli $polaczenie, oznacza już istniejące połączenie, a drugi argument to treść zapytania. Instrukcja SELECT * FROM napisy oznacza pobranie wszystkich kolumn ze wszystkich rekordów tabeli napisy. Wynik działania funkcji zostaje zapisany w zmiennej $zapytanie i może być później przetwarzany, na przykład przez mysqli_fetch_assoc() albo mysqli_fetch_array(). Do zapamiętania: mysqli_query() wykonuje zapytanie SQL, ale samo nie tworzy połączenia z bazą. Typową pułapką jest mylenie tej funkcji z mysqli_connect(), która odpowiada za nawiązanie połączenia.
W tym fragmencie najważniejsza jest instrukcja SQL SELECT, ponieważ to ona wskazuje operację odczytu danych. Poprawna odpowiedź to „pobrania danych z bazy danych”. Odpowiedź „ustawienia hasła do bazy danych” dotyczyłaby konfiguracji konta użytkownika bazy albo podania hasła przy łączeniu, na przykład w funkcji mysqli_connect(), a nie wykonania zapytania SELECT. Odpowiedź „zabezpieczenia bazy danych” pasowałaby do tematów takich jak uprawnienia użytkowników, filtrowanie danych wejściowych, zapytania przygotowane lub ochrona przed SQL injection. Samo mysqli_query() nie oznacza automatycznego zabezpieczania bazy. Odpowiedź „połączenia z bazą danych” dotyczy utworzenia połączenia, czyli funkcji takiej jak mysqli_connect(); w pokazanym kodzie połączenie jest już przekazane w zmiennej $polaczenie. Typowy błąd myślowy polega na skupieniu się na nazwie zmiennej $polaczenie zamiast na treści zapytania "SELECT * FROM napisy", która jednoznacznie oznacza pobieranie danych.