Tworzenie bazy danych MySQL za pomocą PHP

Jeśli kiedykolwiek tworzyłeś stronę internetową z dynamiczną zawartością, wiesz, że baza danych to jej serce. To właśnie tam przechowywane są informacje o użytkownikach, produktach, wpisach na blogu czy wiadomościach kontaktowych. A jednym z najpopularniejszych systemów baz danych na świecie jest MySQL. W połączeniu z PHP staje się potężnym duetem, który pozwala tworzyć w pełni dynamiczne aplikacje webowe.

W tym artykule pokażę Ci krok po kroku, jak utworzyć bazę danych MySQL za pomocą PHP – od podstawowej konfiguracji, aż po napisanie kompletnego skryptu. Nie musisz być ekspertem – wystarczy trochę cierpliwości i chęć nauki. Zaczynajmy!

Czym jest MySQL i dlaczego warto go używać?

Zanim przejdziemy do kodowania, wyjaśnijmy krótko, czym właściwie jest MySQL.

MySQL to relacyjny system zarządzania bazą danych (RDBMS), który przechowuje dane w tabelach, kolumnach i wierszach. To jedna z najpopularniejszych technologii w świecie web developmentu, głównie dlatego, że:

  • Jest darmowy i open-source,
  • Doskonale współpracuje z językiem PHP,
  • Działa stabilnie nawet przy dużej ilości danych,
  • Obsługuje język SQL (Structured Query Language), czyli standardowy sposób komunikacji z bazami danych.

Większość popularnych platform, takich jak WordPress, Drupal czy Joomla, używa MySQL jako swojego silnika baz danych.

Dlaczego PHP + MySQL to dobre połączenie?

PHP i MySQL to klasyczne połączenie, które od lat stanowi podstawę wielu aplikacji internetowych. PHP pozwala na dynamiczne generowanie treści (np. pobieranie danych z bazy i wyświetlanie ich na stronie), a MySQL – na skuteczne przechowywanie tych danych.

W skrócie:
PHP to „mózg” aplikacji.
MySQL to „pamięć” aplikacji.

Co będzie Ci potrzebne?

Zanim zaczniemy pisać kod, upewnij się, że masz przygotowane odpowiednie środowisko. Będziesz potrzebować:

  1. Serwera lokalnego – np. XAMPP lub Laragon.
    Dzięki nim zainstalujesz jednocześnie Apache, PHP i MySQL.
  2. Edytora kodu – np. VS Code, Sublime Text, PHPStorm albo Notepad++.
  3. Podstawowej znajomości PHP – nie musisz być ekspertem, wystarczy wiedzieć, jak tworzy się plik .php.

Po zainstalowaniu XAMPP-a wystarczy uruchomić Apache i MySQL, a następnie otworzyć przeglądarkę i wpisać adres:

http://localhost/

Jeśli wszystko działa, możemy przejść dalej.

Tworzenie połączenia z MySQL za pomocą PHP

Zanim utworzymy bazę danych, musimy nawiązać połączenie z serwerem MySQL. Można to zrobić na dwa sposoby:

  • za pomocą funkcji mysqli,
  • lub przy użyciu klasy PDO.

W tym artykule skupimy się na mysqli, ponieważ jest prostsze dla początkujących.

Oto prosty przykład:

<?php
$servername = "localhost";
$username = "root";
$password = "";

// Tworzymy połączenie
$conn = new mysqli($servername, $username, $password);

// Sprawdzamy połączenie
if ($conn->connect_error) {
    die("Błąd połączenia: " . $conn->connect_error);
}
echo "Połączenie z MySQL działa!";
?>

Wyjaśnienie kodu:

  • localhost – to adres serwera (w przypadku lokalnego środowiska zawsze taki sam),
  • root – domyślna nazwa użytkownika MySQL,
  • password – w środowisku lokalnym zwykle puste,
  • new mysqli() – tworzy nowe połączenie z serwerem MySQL,
  • connect_error – sprawdza, czy połączenie się udało.

Jeśli uruchomisz ten plik w przeglądarce (np. http://localhost/test.php), powinieneś zobaczyć komunikat:
„Połączenie z MySQL działa!”
Gratulacje – pierwszy krok za Tobą!

Tworzenie bazy danych MySQL z poziomu PHP

Teraz, gdy połączenie działa, możemy utworzyć bazę danych bezpośrednio z poziomu skryptu PHP. Wystarczy wykonać odpowiednie zapytanie SQL.

Przykład:

<?php
$servername = "localhost";
$username = "root";
$password = "";

// Połączenie z serwerem MySQL
$conn = new mysqli($servername, $username, $password);

// Sprawdzenie połączenia
if ($conn->connect_error) {
    die("Błąd połączenia: " . $conn->connect_error);
}

// Tworzymy bazę danych
$sql = "CREATE DATABASE moja_baza";
if ($conn->query($sql) === TRUE) {
    echo "Baza danych została pomyślnie utworzona!";
} else {
    echo "Błąd podczas tworzenia bazy danych: " . $conn->error;
}

$conn->close();
?>

Wystarczy uruchomić ten skrypt w przeglądarce, a w panelu phpMyAdmin (lub w MySQL Workbench) pojawi się nowa baza danych o nazwie moja_baza.

Tworzenie tabeli w nowej bazie danych

Baza danych sama w sobie nie wystarczy – potrzebujemy tabel, które będą przechowywać nasze dane. Załóżmy, że chcemy utworzyć tabelę uzytkownicy z kolumnami: id, imie, email, data_rejestracji.

Oto przykładowy kod:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "moja_baza";

// Połączenie z konkretną bazą danych
$conn = new mysqli($servername, $username, $password, $dbname);

// Sprawdzenie połączenia
if ($conn->connect_error) {
    die("Błąd połączenia: " . $conn->connect_error);
}

// Tworzymy tabelę
$sql = "CREATE TABLE uzytkownicy (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    imie VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    data_rejestracji TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
    echo "Tabela 'uzytkownicy' została utworzona!";
} else {
    echo "Błąd podczas tworzenia tabeli: " . $conn->error;
}

$conn->close();
?>

Ten skrypt tworzy tabelę z automatycznym kluczem głównym (id) oraz trzema polami: imię, e-mail i data rejestracji.

Wstawianie danych do tabeli

Skoro mamy już tabelę, pora dodać pierwsze dane. W PHP można to zrobić przy użyciu zapytania INSERT INTO.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "moja_baza";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Błąd połączenia: " . $conn->connect_error);
}

$sql = "INSERT INTO uzytkownicy (imie, email)
VALUES ('Jan Kowalski', 'jan@example.com')";

if ($conn->query($sql) === TRUE) {
    echo "Nowy rekord został dodany!";
} else {
    echo "Błąd: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

Po uruchomieniu tego pliku dane zostaną dodane do tabeli uzytkownicy. Możesz to sprawdzić w phpMyAdmin, wybierając bazę moja_bazauzytkownicy.

Odczytywanie danych z MySQL

Aby wyświetlić dane zapisane w bazie, użyjemy zapytania SELECT:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "moja_baza";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Błąd połączenia: " . $conn->connect_error);
}

$sql = "SELECT id, imie, email, data_rejestracji 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"]. " | Data: " . $row["data_rejestracji"]. "<br>";
    }
} else {
    echo "Brak wyników.";
}
$conn->close();
?>

Ten prosty skrypt pobiera wszystkie dane z tabeli uzytkownicy i wyświetla je w przeglądarce.

Typowe błędy i jak ich uniknąć

Podczas pracy z PHP i MySQL możesz natrafić na kilka typowych problemów:

  1. Błąd połączenia:
    Sprawdź, czy serwer MySQL działa oraz czy dane logowania (username, password) są poprawne.
  2. Brak bazy danych:
    Upewnij się, że baza została utworzona przed próbą połączenia z nią.
  3. Błędy w zapytaniu SQL:
    Jeśli masz błąd składni, użyj $conn->error w PHP, by zobaczyć szczegóły.
  4. Zła obsługa polskich znaków:
    Aby wyświetlać poprawnie znaki diakrytyczne, dodaj: $conn->set_charset("utf8");

Dodatkowa wskazówka: Tworzenie bazy danych i tabel automatycznie

Możesz połączyć wszystko w jeden plik, który utworzy bazę danych, tabelę i wstawi przykładowe dane automatycznie:

<?php
$servername = "localhost";
$username = "root";
$password = "";

// Połączenie z MySQL
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
    die("Błąd połączenia: " . $conn->connect_error);
}

// Tworzenie bazy
$conn->query("CREATE DATABASE IF NOT EXISTS moja_baza");
$conn->select_db("moja_baza");

// Tworzenie tabeli
$conn->query("CREATE TABLE IF NOT EXISTS uzytkownicy (
    id INT AUTO_INCREMENT PRIMARY KEY,
    imie VARCHAR(50),
    email VARCHAR(100),
    data_rejestracji TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)");

// Dodanie przykładowego wpisu
$conn->query("INSERT INTO uzytkownicy (imie, email) VALUES ('Anna Nowak', 'anna@example.com')");

echo "Baza, tabela i dane zostały utworzone!";
$conn->close();
?>

Ten kod załatwia wszystko jednym kliknięciem – idealny do testów lub automatycznego wdrożenia.

Tworzenie bazy danych MySQL za pomocą PHP może wydawać się trudne, ale jak widzisz – wystarczy kilka linijek kodu, by wszystko działało jak należy. W tym artykule nauczyłeś się:

  • jak połączyć PHP z MySQL,
  • jak utworzyć bazę danych i tabelę,
  • jak dodawać i odczytywać dane,
  • jak obsługiwać błędy i kodować polskie znaki.

Dzięki tej wiedzy możesz teraz budować prawdziwe, dynamiczne aplikacje webowe – od prostych systemów logowania po zaawansowane panele administracyjne.

Szukasz taniego i dobrego hostingu dla swojej strony www? - Sprawdź Seohost.pl