INF.03 HUB - PHP

Dokumentacja PHP pod egzamin INF.03. Każda sekcja zawiera opis, zastosowanie, przykłady i najczęstsze błędy.

mysqli_connect()

Co robi? Łączy PHP z bazą danych MySQL.

Częstotliwość: ~90%

$conn = mysqli_connect("localhost","root","","baza");
Najczęstszy błąd: zła nazwa bazy lub brak połączenia.

mysqli_query()

Wysyła zapytanie SQL do bazy danych.

$result = mysqli_query($conn, $sql);

Częstotliwość: ~85%

mysqli_fetch_assoc()

Pobiera rekord jako tablicę asocjacyjną.

$row = mysqli_fetch_assoc($result);
echo $row['nazwa'];

while()

Przechodzi po wszystkich rekordach zwróconych przez SELECT.

while($row = mysqli_fetch_assoc($result)){
    echo $row['nazwa'];
}

Częstotliwość: ~80%

if()

Instrukcja warunkowa.

if($wiek >= 18){
    echo "Pełnoletni";
}

isset()

Sprawdza czy zmienna istnieje.

if(isset($_POST['btn'])){

}

Częstotliwość: ~75%

$_POST

Pobieranie danych z formularza.

$imie = $_POST['imie'];

$_GET

Pobieranie danych z adresu URL.

$id = $_GET['id'];

mysqli_num_rows()

Sprawdza ilość rekordów.

if(mysqli_num_rows($result) > 0){
    echo "Są rekordy";
}

prepare()

Przygotowane zapytanie SQL.

$stmt = $conn->prepare("INSERT INTO osoby(imie) VALUES (?)");

bind_param()

Przypisuje zmienne do zapytania.

$stmt->bind_param("s", $imie);

execute()

Wykonuje przygotowane zapytanie.

$stmt->execute();

INSERT

Dodawanie rekordów do bazy.

$sql = "INSERT INTO osoby(imie) VALUES('Jan')";

mysqli_query($conn, $sql);

UPDATE

Aktualizacja danych.

$sql = "UPDATE osoby SET imie='Adam' WHERE id=1";
Bez WHERE zmienisz wszystkie rekordy.

DELETE

Usuwanie rekordów.

$sql = "DELETE FROM osoby WHERE id=1";
Bez WHERE usuniesz wszystkie rekordy.

header()

Przekierowanie użytkownika.

header("Location:index.php");

mysqli_fetch_array()

Pobiera rekord jako tablicę.

$row = mysqli_fetch_array($result);

echo $row['nazwa'];

Gotowiec egzaminacyjny #1

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

}

Gotowiec egzaminacyjny #2

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

}
?>

Gotowiec egzaminacyjny #3

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

Gotowiec egzaminacyjny #4 - UPDATE

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);
Bez WHERE zmienisz wszystkie rekordy.

Gotowiec egzaminacyjny #5 - DELETE

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);
Bez WHERE usuniesz wszystkie rekordy.

Gotowiec egzaminacyjny #6 - SELECT z warunkiem

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

Gotowiec egzaminacyjny #7 - JOIN

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'];

}

Gotowiec egzaminacyjny #8 - COUNT

Wyświetl liczbę produktów.

$result = mysqli_query($conn, "SELECT COUNT(*) AS liczba FROM produkty");

$row = mysqli_fetch_assoc($result);

echo $row['liczba'];