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
Zapytania SELECT, INSERT, UPDATE w praktyce
Zapytania SQL SELECT, INSERT, UPDATE są podstawą interakcji z bazą danych w PHP. Pozwalają pobierać rekordy (SELECT), dodawać nowe (INSERT) oraz modyfikować istniejące (UPDATE). Z ich pomocą tworzysz dynamiczne aplikacje, zapisując i przetwarzając dane użytkowników.
Najważniejsze zapytania SQL
- SELECT
- Pobiera dane z tabeli, np.
SELECT * FROM users
zwraca wszystkie pola i rekordy. - Możesz dodać warunek:
SELECT login FROM users WHERE id = 10
. - Dla paginacji lub ograniczenia liczby wyników użyj
LIMIT
iOFFSET
.
- Pobiera dane z tabeli, np.
- INSERT
- Dodaje rekord, np.
INSERT INTO users (login, email) VALUES ('Ala', '[email protected]')
. - Po udanym wstawieniu możesz uzyskać ID przez mysqli_insert_id (w MySQLi).
- Dodaje rekord, np.
- UPDATE
- Modyfikuje istniejący rekord. Przykład:
UPDATE users SET email='[email protected]' WHERE id=5
. - Koniecznie stosuj WHERE, by nie zaktualizować całej tabeli przez przypadek.
- Modyfikuje istniejący rekord. Przykład:
Przykład
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "test_db";
// Połączenie
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
die("Błąd połączenia: " . $conn->connect_error);
}
// SELECT – pobranie danych
$sqlSelect = "SELECT id, login, email FROM users LIMIT 3";
$result = $conn->query($sqlSelect);
echo "<h3>Przykład SELECT:</h3>";
if ($result && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row['id'] . ", Login: " . $row['login'] . ", Email: " . $row['email'] . "<br>";
}
} else {
echo "Brak wyników.";
}
// INSERT – dodanie nowego użytkownika
$sqlInsert = "INSERT INTO users (login, email) VALUES ('NowyUser', '[email protected]')";
if ($conn->query($sqlInsert) === TRUE) {
echo "<p>Dodano nowy rekord, ID: " . $conn->insert_id . "</p>";
} else {
echo "<p>Błąd INSERT: " . $conn->error . "</p>";
}
// UPDATE – aktualizacja emaila dla wybranego id
$sqlUpdate = "UPDATE users SET email='[email protected]' WHERE login='NowyUser'";
if ($conn->query($sqlUpdate) === TRUE) {
echo "<p>Zaktualizowano " . $conn->affected_rows . " rekord(ów).</p>";
} else {
echo "<p>Błąd UPDATE: " . $conn->error . "</p>";
}
$conn->close();
?>
Zwrócona zawartość
[Wyświetlenie pierwszych 3 użytkowników z tabeli users]
Dodano nowy rekord, ID: [liczba]
Zaktualizowano 1 rekord(ów).
Przykładowe zastosowania zapytań SELECT, INSERT, UPDATE
- Panel administracyjny
- SELECT do wyświetlania listy produktów, INSERT do dodawania nowych towarów, UPDATE do ich edycji.
- Rejestracja i edycja profilu
- INSERT podczas tworzenia konta użytkownika, UPDATE przy zmianie hasła czy emaila.
- Wyszukiwarka
- SELECT z warunkiem WHERE, np. wyszukiwanie produktów po nazwie.
Podsumowanie
- SELECT służy do pobierania danych z tabel, możesz ograniczać wyniki przez WHERE i LIMIT.
- INSERT umożliwia dodanie nowego rekordu, a UPDATE modyfikuje istniejące wiersze.
- Pamiętaj o warunku WHERE w UPDATE, by przypadkowo nie zmienić całej tabeli.
- Te trzy zapytania stanowią fundament komunikacji z bazą w większości aplikacji web.