Jeśli chcesz tworzyć dynamiczne aplikacje internetowe, musisz pracować z bazą danych. Najczęściej w połączeniu z PHP używa się MySQL. W tym artykule dowiesz się, jak połączyć się z bazą danych, wstawiać i pobierać dane oraz jak zadbać o bezpieczeństwo swojego kodu.
MySQL to relacyjny system zarządzania bazą danych, który umożliwia efektywne przechowywanie i zarządzanie danymi. PHP posiada wbudowaną obsługę MySQL, dzięki czemu to połączenie jest bardzo popularne w tworzeniu aplikacji webowych.
Praca z MySQL umożliwia:
Przed rozpoczęciem pracy z MySQL w PHP musisz mieć zainstalowane:
Zalecanym sposobem instalacji jest użycie XAMPP, który zawiera Apache, MySQL i PHP w jednym pakiecie.
Do połączenia z bazą danych MySQL możesz użyć rozszerzenia MySQLi lub PDO. Oto przykład połączenia z użyciem MySQLi:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "moja_baza";
// Utworzenie połączenia
$conn = new mysqli($servername, $username, $password, $database);
// Sprawdzenie połączenia
if ($conn->connect_error) {
die("Błąd połączenia: " . $conn->connect_error);
}
echo "Połączenie udane!";
?>
new mysqli() – tworzy połączenie z bazą danych.$conn->connect_error – sprawdza, czy połączenie się powiodło.die() – zatrzymuje skrypt w przypadku błędu.Aby dodać dane do bazy, możesz użyć polecenia SQL INSERT:
<?php
$sql = "INSERT INTO uzytkownicy (imie, email) VALUES ('Piotr', 'piotr@example.com')";
if ($conn->query($sql) === TRUE) {
echo "Rekord dodany pomyślnie";
} else {
echo "Błąd: " . $conn->error;
}
?>
Aby pobrać dane, użyj polecenia SQL SELECT:
<?php
$sql = "SELECT id, imie, email FROM uzytkownicy";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Imię: " . $row["imie"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "Brak wyników";
}
?>
Bezpośrednie użycie danych wejściowych od użytkownika bez ich przetworzenia jest niebezpieczne. Bezpieczniejszym rozwiązaniem jest użycie przygotowanych zapytań SQL:
<?php
$stmt = $conn->prepare("INSERT INTO uzytkownicy (imie, email) VALUES (?, ?)");
$stmt->bind_param("ss", $imie, $email);
$imie = "Marcin";
$email = "marcin@example.com";
$stmt->execute();
$stmt->close();
?>
Po połączeniu wypisz komunikat echo "Połączenie udane!". Jeśli pojawi się błąd, sprawdź ustawienia.
Użyj zapytania SELECT ... WHERE, np.:
$sql = "SELECT * FROM uzytkownicy WHERE id=1"; $result = $conn->query($sql);
MySQLi jest szybszy dla MySQL, ale PDO obsługuje wiele systemów baz danych.
Jeśli interesują Cię szkolenia stacjonarne lub online z programowania w PHP, sprawdź naszą ofertę na www.like-it.sk. Nasze kursy prowadzone są przez doświadczonych ekspertów, którzy pomogą Ci opanować zarówno podstawy, jak i zaawansowane zagadnienia programowania.
Marián Knězek