Podłączanie i praca z bazą danych MySQL w języku PHP

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.

Czym jest MySQL i dlaczego jest używany z PHP?

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.

Jakie znaczenie ma połączenie z MySQL w praktyce?

Praca z MySQL umożliwia:

1. Instalacja MySQL i PHP

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.

2. Połączenie z bazą danych za pomocą MySQLi

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!";
?>

Wyjaśnienie:

3. Wstawianie danych do MySQL

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;
}
?>

4. Pobieranie danych z bazy danych

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";
}
?>

5. Bezpieczeństwo: Ochrona przed SQL Injection

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();
?>

Najczęściej zadawane pytania

1. Jak sprawdzić, czy połączenie z bazą danych jest udane?

Po połączeniu wypisz komunikat echo "Połączenie udane!". Jeśli pojawi się błąd, sprawdź ustawienia.

2. Jak pobrać tylko jeden konkretny wiersz z MySQL w PHP?

Użyj zapytania SELECT ... WHERE, np.:

$sql = "SELECT * FROM uzytkownicy WHERE id=1";
$result = $conn->query($sql);

3. Co jest lepsze: MySQLi czy PDO?

MySQLi jest szybszy dla MySQL, ale PDO obsługuje wiele systemów baz danych.

Top 5 ciekawostek o PHP i MySQL

  1. MySQL jest jednym z najczęściej używanych systemów baz danych na świecie.
  2. PHP natywnie wspiera MySQL od swoich najwcześniejszych wersji.
  3. Najpopularniejsze systemy CMS (WordPress, Joomla, Drupal) są oparte na PHP i MySQL.
  4. MySQL obsługuje transakcje, replikację i zaawansowaną optymalizację wydajności.
  5. Stosowanie zabezpieczonych zapytań SQL może zapobiec aż 90% ataków na aplikacje webowe.

Chcesz nauczyć się PHP dogłębnie?

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