Zadania z SZBD (MS Access / Base / MySQL)

Zadanie 11: Połączenie z bazą MySQL w PHP

Napisz skrypt PHP, który połączy się z bazą danych MySQL i wyświetli komunikat o pomyślnym połączeniu.

<?php $host = "localhost"; $user = "root"; $pass = ""; $db = "szkola"; $conn = mysqli_connect($host, $user, $pass, $db); if (!$conn) { die("Błąd połączenia: " . mysqli_connect_error()); } echo "Połączono z bazą danych"; ?>

Zadanie 12: Wydzielenie danych dostępowych

Zmodyfikuj poprzedni skrypt tak, aby dane dostępowe były przechowywane w osobnym pliku dbconnect.php.

// dbconnect.php <?php $host = "localhost"; $user = "root"; $pass = ""; $db = "szkola"; ?> // index.php <?php require_once "dbconnect.php"; $conn = mysqli_connect($host, $user, $pass, $db); if (!$conn) { die("Błąd połączenia: " . mysqli_connect_error()); } echo "Połączono z bazą danych"; ?>

Zadanie 13: Bezpieczne połączenie za pomocą mysqli

Napisz skrypt PHP, który używa obiektowego podejścia do połączenia z MySQL.

<?php require_once "dbconnect.php"; $conn = new mysqli($host, $user, $pass, $db); if ($conn->connect_error) { die("Błąd połączenia: " . $conn->connect_error); } echo "Połączono z bazą danych!"; ?>

Zadanie 14: Pobieranie danych z bazy

Napisz skrypt PHP, który pobierze i wyświetli listę uczniów z tabeli Uczniowie.

<?php require_once "dbconnect.php"; $conn = new mysqli($host, $user, $pass, $db); $result = $conn->query("SELECT * FROM Uczniowie"); while ($row = $result->fetch_assoc()) { echo $row["Imie"] . " " . $row["Nazwisko"] . "<br>"; } ?>

Zadanie 15: Wstawianie danych z formularza

Napisz formularz PHP, który umożliwi dodanie nowego ucznia do bazy danych.

<form action="dodaj_ucznia.php" method="post"> Imię: <input type="text" name="imie" required><br> Nazwisko: <input type="text" name="nazwisko" required><br> <input type="submit" value="Dodaj ucznia"> </form>

Zadanie 16: Obsługa formularza w PHP

Napisz skrypt PHP obsługujący formularz dodający ucznia do bazy.

// dodaj_ucznia.php <?php require_once "dbconnect.php"; $conn = new mysqli($host, $user, $pass, $db); $imie = $_POST["imie"]; $nazwisko = $_POST["nazwisko"]; $conn->query("INSERT INTO Uczniowie (Imie, Nazwisko) VALUES ('$imie', '$nazwisko')"); echo "Dodano ucznia."; ?>

Zadanie 17: Użycie prepared statements

Zmodyfikuj poprzedni skrypt, aby zabezpieczyć go przed SQL Injection.

<?php require_once "dbconnect.php"; $conn = new mysqli($host, $user, $pass, $db); $stmt = $conn->prepare("INSERT INTO Uczniowie (Imie, Nazwisko) VALUES (?, ?)"); $stmt->bind_param("ss", $_POST["imie"], $_POST["nazwisko"]); $stmt->execute(); echo "Dodano ucznia bezpiecznie."; ?>

Zadanie 18: Aktualizacja danych

Napisz skrypt PHP, który zmieni nazwisko ucznia o danym ID.

<?php require_once "dbconnect.php"; $conn = new mysqli($host, $user, $pass, $db); $conn->query("UPDATE Uczniowie SET Nazwisko='Kowalski' WHERE ID=1"); echo "Zaktualizowano dane."; ?>

Zadanie 19: Usuwanie danych

Napisz skrypt PHP, który usunie ucznia o podanym ID.

<?php require_once "dbconnect.php"; $conn = new mysqli($host, $user, $pass, $db); $conn->query("DELETE FROM Uczniowie WHERE ID=1"); echo "Usunięto ucznia."; ?>

Zadanie 20: Dynamiczne wyświetlanie danych

Zmodyfikuj skrypt z Zadania 14, aby dane były wyświetlane w tabeli HTML.