Dokumentacja PHP pod egzamin INF.03. Każda sekcja zawiera opis, zastosowanie, przykłady i najczęstsze błędy.
Co robi? Łączy PHP z bazą danych MySQL.
Częstotliwość: ~90%
$conn = mysqli_connect("localhost","root","","baza");
Wysyła zapytanie SQL do bazy danych.
$result = mysqli_query($conn, $sql);
Częstotliwość: ~85%
Pobiera rekord jako tablicę asocjacyjną.
$row = mysqli_fetch_assoc($result); echo $row['nazwa'];
Przechodzi po wszystkich rekordach zwróconych przez SELECT.
while($row = mysqli_fetch_assoc($result)){
echo $row['nazwa'];
}
Częstotliwość: ~80%
Instrukcja warunkowa.
if($wiek >= 18){
echo "Pełnoletni";
}
Sprawdza czy zmienna istnieje.
if(isset($_POST['btn'])){
}
Częstotliwość: ~75%
Pobieranie danych z formularza.
$imie = $_POST['imie'];
Pobieranie danych z adresu URL.
$id = $_GET['id'];
Sprawdza ilość rekordów.
if(mysqli_num_rows($result) > 0){
echo "Są rekordy";
}
Przygotowane zapytanie SQL.
$stmt = $conn->prepare("INSERT INTO osoby(imie) VALUES (?)");
Przypisuje zmienne do zapytania.
$stmt->bind_param("s", $imie);
Wykonuje przygotowane zapytanie.
$stmt->execute();
Dodawanie rekordów do bazy.
$sql = "INSERT INTO osoby(imie) VALUES('Jan')";
mysqli_query($conn, $sql);
Aktualizacja danych.
$sql = "UPDATE osoby SET imie='Adam' WHERE id=1";
Usuwanie rekordów.
$sql = "DELETE FROM osoby WHERE id=1";
Przekierowanie użytkownika.
header("Location:index.php");
Pobiera rekord jako tablicę.
$row = mysqli_fetch_array($result); echo $row['nazwa'];
Przykładowe polecenie CKE:
Wyświetl wszystkie produkty znajdujące się w tabeli
produkty.
Dla każdego produktu wyświetl jego nazwę.
$conn = mysqli_connect("localhost","root","","baza");
$result = mysqli_query($conn, "SELECT * FROM produkty");
while($row = mysqli_fetch_assoc($result)){
echo $row['nazwa'];
echo "<br>";
}
Przykładowe polecenie CKE:
Wykonaj formularz umożliwiający dodanie nowej osoby
do tabeli osoby.
Po zatwierdzeniu formularza dane mają zostać zapisane
w bazie danych.
<form method="post">
<input type="text" name="imie">
<input
type="submit" name="btn">
</form>
<?php
if(isset($_POST['btn'])){
$imie = $_POST['imie'];
$sql = "INSERT INTO osoby(imie) VALUES('$imie')";
mysqli_query($conn, $sql);
}
?>
Przykładowe polecenie CKE:
Wyświetl dane z tabeli produkty
w postaci tabeli HTML.
Każdy rekord ma być wyświetlony w osobnym wierszu.
$result = mysqli_query($conn, "SELECT * FROM produkty");
echo "<table>";
while($row = mysqli_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['nazwa']."</td>";
echo "</tr>";}
echo "</table>";
Przykładowe polecenie CKE:
Zaktualizuj cenę produktu o identyfikatorze 1 na wartość 500 zł.
$conn = mysqli_connect("localhost","root","","baza");
$sql = "UPDATE produkty SET cena = 500 WHERE id = 1";
mysqli_query($conn, $sql);
Przykładowe polecenie CKE:
Usuń produkt o identyfikatorze 1 z bazy danych.
$conn = mysqli_connect("localhost","root","","baza");
$sql = "DELETE FROM produkty WHERE id = 1";
mysqli_query($conn, $sql);
Przykładowe polecenie CKE:
Wyświetl nazwy wszystkich produktów, których cena jest większa od 100 zł.
$conn = mysqli_connect("localhost","root","","baza");
$result = mysqli_query($conn, "SELECT * FROM produkty WHERE cena > 100");
while($row = mysqli_fetch_assoc($result)){
echo $row['nazwa'];
echo "<br>";
}
Przykładowe polecenie CKE:
Wyświetl nazwy produktów wraz z nazwą kategorii.
$result = mysqli_query($conn, "SELECT produkty.nazwa, kategorie.nazwa FROM produkty JOIN kategorie ON produkty.idKat = kategorie.id");
while(
$row = mysqli_fetch_assoc($result)){
echo $row['nazwa'];
}
Wyświetl liczbę produktów.
$result = mysqli_query($conn, "SELECT COUNT(*) AS liczba FROM produkty"); $row = mysqli_fetch_assoc($result); echo $row['liczba'];