0Pricing
PHP Academy · Lekcja

Pobieranie wyników za pomocą PDO

Pobieraj wiersze za pomocą fetchAll, fetch i trybów pobierania PDO

Pobieranie wyników za pomocą PDO to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.

fetch() a fetchAll()

fetch() zwraca po jednym wierszu i przesuwa kursor do przodu. fetchAll() zwraca wszystkie wiersze jako tablicę podczas jednego wywołania.

fetch() w pętli

To rozwiązanie jest idealne dla dużych zbiorów wyników — przetwarza po jednym wierszu, bez ładowania wszystkiego do pamięci.

<?php
$stmt = $pdo->query("SELECT id, name FROM users");
while ($row = $stmt->fetch()) {
    echo $row["id"]." - ".$row["name"]."\n";
}

fetchAll()

Zwraca wszystkie wiersze jednocześnie. Jest wygodne w przypadku małych zbiorów wyników.

<?php
$stmt = $pdo->query("SELECT * FROM products ORDER BY price");
$products = $stmt->fetchAll();

FETCH_ASSOC

Zwraca wiersze jako tablice asocjacyjne indeksowane nazwami kolumn — to najczęściej używany tryb pobierania.

<?php
$row = $stmt->fetch(PDO::FETCH_ASSOC);
// $row["email"], $row["name"]

FETCH_OBJ

Zwraca wiersze jako obiekty stdClass. Dostęp do kolumn uzyskuje się za pomocą właściwości.

<?php
$stmt->setFetchMode(PDO::FETCH_OBJ);
$row = $stmt->fetch();
echo $row->email;

FETCH_CLASS

Bezpośrednio hydratuje wiersze do instancji podanej klasy.

<?php
$stmt->setFetchMode(PDO::FETCH_CLASS, User::class);
$users = $stmt->fetchAll(); // array of User objects

fetchColumn()

Pobiera wartość pojedynczej kolumny z następnego wiersza. Jest przydatna w przypadku zapytań COUNT.

<?php
$count = $pdo->query("SELECT COUNT(*) FROM orders")->fetchColumn();
echo "Total orders: ".$count;

FETCH_KEY_PAIR

Zwraca tablicę asocjacyjną, w której pierwsza kolumna jest kluczem, a druga wartością — doskonale sprawdza się przy wyszukiwaniu nazw na podstawie identyfikatorów.

<?php
$map = $pdo->query("SELECT id, name FROM categories")
           ->fetchAll(PDO::FETCH_KEY_PAIR);
// $map[1] = "Electronics", $map[2] = "Books"

FETCH_UNIQUE

FETCH_UNIQUE indeksuje wynik według pierwszej kolumny, eliminując duplikaty.

FETCH_GROUP

FETCH_GROUP grupuje wiersze według wartości pierwszej kolumny — jest przydatne w przypadku relacji jeden-do-wielu.

closeCursor()

Niektóre sterowniki wymagają wywołania closeCursor() dla instrukcji przed wykonaniem kolejnego zapytania na tym samym połączeniu.

Brak kolejnych wyników

fetch() zwraca false, gdy nie ma już żadnych wierszy. Zawsze sprawdzaj: if ($row === false).

Szybkie sprawdzenie

Która metoda zwraca wartość pojedynczej kolumny z jednego wiersza?

Często zadawane pytania

Czy lekcja „Pobieranie wyników za pomocą PDO” jest bezpłatna?

Tak — pełny tekst „Pobieranie wyników za pomocą PDO” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Pobieranie wyników za pomocą PDO”?

Pobieraj wiersze za pomocą fetchAll, fetch i trybów pobierania PDO Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć PHP Academy?

Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Pobieranie wyników za pomocą PDO”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?

Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Łączenie z MySQL za pomocą PDO
  2. Instrukcje przygotowane i bindowanie parametrów
  3. Pobieranie wyników za pomocą PDO
  4. Transakcje z PDO
← Powrót do PHP Academy