PHP
Wyszukiwarka
Wprowadzenie do PHP
Instalacja i konfiguracja środowiska
- Jak zainstalować PHP na lokalnym serwerze (XAMPP)
- Podstawowa konfiguracja w pliku php.ini
- Ustawienia błędów (display_errors, error_reporting)
Operatory
- Operatory arytmetyczne w PHP
- Operatory porównania i logiczne
- Skrócone operatory przypisania (+=, -=, .=)
Instrukcje warunkowe i pętle
- Instrukcja if/else w PHP
- Instrukcja switch/case w PHP
- Pętla for w PHP
- Pętla while w PHP
- Pętla do...while w PHP
- Pętla foreach w PHP (tablice i obiekty)
Funkcje
- Tworzenie i wywoływanie funkcji
- Parametry domyślne i typowanie argumentów
- Funkcje anonimowe i strzałkowe w PHP
Tablice
- Tablice indeksowane i asocjacyjne
- Przegląd najważniejszych funkcji tablicowych
- Iteracja po tablicach: foreach, array_map, array_filter
Obsługa formularzy
Obsługa baz danych
- Połączenie z MySQL: rozszerzenie MySQLi
- Zapytania SELECT, INSERT, UPDATE w praktyce
- Bezpieczne zapytania (prepared statements)
Praca z plikami
- Odczyt i zapis plików tekstowych
- Tworzenie i usuwanie katalogów, prawa dostępu
- Obsługa plików CSV do importu i eksportu danych
Połączenie z MySQL: rozszerzenie MySQLi
Rozszerzenie MySQLi w PHP umożliwia łączenie się z bazą danych MySQL, wykonywanie zapytań SQL i pobieranie wyników. Zapewnia obiektywny interfejs (klasa mysqli) i procedurowy, dając większą kontrolę niż starsze rozszerzenie mysql_*.
Podstawy połączenia z MySQL przy użyciu MySQLi
- Tryb obiektowy
- Tworzysz obiekt
$conn = new mysqli(host, user, pass, dbname);
. - Sprawdzasz
$conn->connect_error
w celu wykrycia błędów połączenia.
- Tworzysz obiekt
- Tryb procedurowy
- Funkcje:
mysqli_connect()
,mysqli_query()
, itp. - Wiele osób preferuje jednak interfejs obiektowy ze względu na czytelność.
- Funkcje:
- Charset
- Ustaw kodowanie np.
$conn->set_charset("utf8");
, aby uniknąć problemów z polskimi znakami.
- Ustaw kodowanie np.
- Błędy i wyjątki
- Możesz użyć try/catch z trybem wyjątków w mysqli, by kontrolować błędy bazodanowe.
Przykład
<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "test_db";
// Tworzenie obiektu mysqli
$conn = new mysqli($host, $user, $pass, $dbname);
// Sprawdzenie błędów połączenia
if ($conn->connect_error) {
die("Błąd połączenia: " . $conn->connect_error);
}
// Ustawienie kodowania
$conn->set_charset("utf8");
// Przykładowe zapytanie
$sql = "SELECT id, nazwa FROM produkty LIMIT 5";
$result = $conn->query($sql);
if ($result && $result->num_rows > 0) {
echo "<ul>";
while ($row = $result->fetch_assoc()) {
echo "<li>ID: {$row['id']} | Nazwa: {$row['nazwa']}</li>";
}
echo "</ul>";
} else {
echo "Brak wyników lub błąd w zapytaniu.";
}
// Zamknięcie połączenia
$conn->close();
?>
Zwrócona zawartość
[Listowanie przykładowych produktów z bazy test_db, np. ID: 1 | Nazwa: Telefon]
Przykładowe zastosowania MySQLi
- System logowania
- Sprawdzanie wpisanych danych w tabeli użytkowników.
- Wyświetlanie list produktów
- Pobieranie danych z bazy i prezentacja w tabeli, liście itp.
- Panel administracyjny
- Dodawanie, edycja i usuwanie rekordów w bazie, np. artykuły czy wpisy blogowe.
Podsumowanie
- Rozszerzenie MySQLi oferuje obiektowy i procedurowy sposób łączenia się z bazą MySQL.
- Po połączeniu warto ustawić charset na "utf8", aby obsłużyć polskie znaki i inne Unicode.
- Obsługa zapytań SQL odbywa się przez
$conn->query()
, wyniki odbieramy pętląfetch_assoc()
. - Stosuj try/catch lub sprawdzaj $conn->connect_error, aby przechwytywać błędy połączenia.