INF.03: Jak stworzyć i podłączyć bazę danych w 15 minut? Tutorial krok po kroku

🏗️ Baza danych na egzaminie INF.03
Na egzaminie nie masz czasu na zastanawianie się "jak to się importowało". To musi być pamięć mięśniowa. Masz 150 minut na całe zadanie, ale na bazę powinieneś poświęcić max 15.
Krok 1: XAMPP i phpMyAdmin
Najpierw odpalasz Apache i MySQL w XAMPP.
Wchodzisz na localhost/phpmyadmin.
Najczęstszy błąd: Uczniowie próbują tworzyć tabele ręcznie, zamiast zaimportować gotowy plik .sql dostarczony przez komisję.
- Utwórz nową bazę (nazwa zwykle podana w arkuszu).
- Zakładka Import.
- Wybierz plik i kliknij Wykonaj.
Krok 2: Połączenie PHP (Wzór)
Nie wymyślaj koła na nowo. Naucz się tego snippetu na pamięć. Używamy mysqli (obiektowo lub strukturalnie - byle konsekwentnie).
// config.php - warto wydzielić to do oddzielnego pliku
$server = "localhost";
$user = "root";
$pass = "";
$db = "nazwa_bazy_z_arkusza";
$conn = mysqli_connect($server, $user, $pass, $db);
if (!$conn) {
die("Błąd połączenia: " . mysqli_connect_error());
} else {
// Odkomentuj linię poniżej, aby sprawdzić czy działa
// echo "Połączono z bazą!";
}Zadanie dla Ciebie
Stwórz plik db.php, wklej powyższy kod i podmień nazwę bazy na taką, którą masz w swoim lokalnym XAMPPie. Odpal w przeglądarce.
Przećwicz podłączanie bazy
W Symulatorze INF.03 mamy zadania, gdzie musisz uzupełnić luki w kodzie łączenia z bazą. Sprawdź się!
Krok 3: Zapytania i wyświetlanie danych
Pobranie danych to jedno, wyświetlenie ich w pętli while to drugie. Na egzaminie często musisz wyświetlić dane w liście punktowanej lub tabeli.
Przykład: Wyświetl listę produktów w formacie HTML <ul>.
$sql = "SELECT nazwa, cena FROM produkty WHERE kategoria = 'Podzespoły'";
$result = mysqli_query($conn, $sql);
echo "<ul>"; // Otwieramy listę przed pętlą
// mysqli_fetch_array daje dostęp i po indeksie ($row[0]) i po nazwie ($row['nazwa'])
while($row = mysqli_fetch_array($result)) {
echo "<li>";
echo "<b>" . $row['nazwa'] . "</b> - cena: " . $row['cena'] . " zł";
echo "</li>";
}
echo "</ul>"; // Zamykamy listę po pętliZadanie dla Ciebie
Zmodyfikuj powyższy skrypt tak, aby wyświetlał dane w tabeli HTML (znaczniki table, tr, td). Pamiętaj, aby nagłówki tabeli th były poza pętlą while.
Krok 4: Wstawianie danych (Formularze)
Egzaminatorzy uwielbiają zadania typu: "Skrypt dodający użytkownika do bazy". Wymaga to obsługi formularza HTML metodą POST.
Formularz (HTML):
<form action="dodaj.php" method="POST">
Imie: <input type="text" name="imie"><br>
Nazwisko: <input type="text" name="nazwisko"><br>
<button type="submit">Dodaj</button>
</form>Skrypt (dodaj.php):
// Pamiętaj o dołączeniu połączenia
require('config.php');
if (!empty($_POST['imie']) && !empty($_POST['nazwisko'])) {
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
// Pamiętaj o cudzysłowach przy wartościach tekstowych w SQL!
$sql = "INSERT INTO uzytkownicy (imie, nazwisko) VALUES ('$imie', '$nazwisko')";
if (mysqli_query($conn, $sql)) {
echo "Dodano użytkownika pomyślnie.";
} else {
echo "Błąd: " . mysqli_error($conn);
}
}
Zadanie dla Ciebie
Stwórz prostą księgę gości. Baza z tabelą wpisy (id, tresc). Formularz z jednym polem textarea. Po wysłaniu skrypt ma dodać wpis do bazy ORAZ wyświetlić pod spodem wszystkie dotychczasowe wpisy.
⚠️ Na co uważać?
- Polskie znaki: Jeśli krzaki zamiast ą/ę, dodaj
mysqli_set_charset($conn, "utf8");zaraz po połączeniu. - Literówki w nazwach kolumn: SQL nie wybacza. Sprawdź 3 razy, czy w bazie jest
imieczyimiona. - Spacja w SQL: Pisząc zapytanie w PHP, łatwo skleić wyrazy.
SELECT * FROMtabellarzuci błędem.
Quiz SQL: Znajdź błąd
Pokażemy Ci kod SQL z błędami. Twoim zadaniem jest je znaleźć, zanim zrobi to kompilator na egzaminie.
Podsumowanie
Baza danych to najprostsze punkty do zdobycia, jeśli opanujesz schemat. Import -> Connect -> Query -> Loop -> Close. Powtórz to 10 razy w domu, a na egzaminie zrobisz to z zamkniętymi oczami.
Gotowy na więcej? Sprawdź nasz Pełny Kurs INF.03, gdzie omawiamy również sesje, ciasteczka i JavaScript.
Windows Server na INF.02: Active Directory, GPO i Użytkownicy. Poradnik Krok po Kroku.
Następny postEgzamin INF.03 - Co było w 2024? Analiza Arkuszy i Gotowe Rozwiązania.