PHP Academy · Oppitunti

Tulosten hakeminen PDO:lla

Noutakaa rivit fetchAll- ja fetch-metodeilla sekä PDO:n hakutiloilla.

Oppitunti 3/413 vaihetta

Tulosten hakeminen PDO:lla on ilmainen PHP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu PHP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. PHP Academy-kurssilla on yhteensä 4 oppituntia.

fetch() vs fetchAll()

fetch() palauttaa yhden rivin kerrallaan ja siirtää kohdistinta eteenpäin. fetchAll() palauttaa kaikki rivit taulukkona yhdellä kutsulla.

fetch() silmukassa

Tämä sopii suurille tulosjoukoille: rivejä käsitellään yksi kerrallaan ilman, että kaikkea ladataan muistiin.

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

fetchAll()

Palauttaa kaikki rivit kerralla. Tämä on kätevää pienille tulosjoukoille.

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

FETCH_ASSOC

Palauttaa rivit assosiatiivisina taulukkoina, joiden avaimina ovat sarakkeiden nimet — tämä on yleisin hakutila.

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

FETCH_OBJ

Palauttaa rivit stdClass-objekteina. Sarakkeisiin pääsee käsiksi ominaisuuksina.

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

FETCH_CLASS

Täyttää rivit suoraan tietyn luokan ilmentymiksi.

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

fetchColumn()

Hakee seuraavalta riviltä yhden sarakkeen arvon. Tämä on hyödyllistä COUNT-kyselyissä.

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

FETCH_KEY_PAIR

Palauttaa assosiatiivisen taulukon, jossa ensimmäinen sarake on avain ja toinen arvo — tämä sopii erinomaisesti id→name-hakuihin.

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

FETCH_UNIQUE

FETCH_UNIQUE indeksoi tuloksen ensimmäisen sarakkeen mukaan ja poistaa kaksoiskappaleet.

FETCH_GROUP

FETCH_GROUP ryhmittelee rivit ensimmäisen sarakkeen arvon mukaan — tämä on hyödyllistä yksi moneen -suhteissa.

closeCursor()

Jotkin ajurit edellyttävät closeCursor()-metodin kutsumista lauseelle ennen uuden kyselyn suorittamista samalla yhteydellä.

Tyhjät tulokset

fetch() palauttaa arvon false, kun rivejä ei ole enää jäljellä. Tarkistakaa aina: if ($row === false).

Pikatarkistus

Mikä metodi palauttaa yhden sarakkeen arvon yhdeltä riviltä?

Aloita maksutta

Opi PHP tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
49
Oppitunnit
195

Usein kysytyt kysymykset

Onko oppitunti ”Tulosten hakeminen PDO:lla” ilmainen?

Kyllä – oppitunnin ”Tulosten hakeminen PDO:lla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko PHP Academy-kurssin, päivitä CoddyKit PROhon. PHP Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Tulosten hakeminen PDO:lla”?

Noutakaa rivit fetchAll- ja fetch-metodeilla sekä PDO:n hakutiloilla. Harjoittelet PHP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni PHP Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin PHP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Tulosten hakeminen PDO:lla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä PHP Academy-oppitunnilla?

Kyllä. Jokainen PHP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Yhteyden muodostaminen MySQL:ään PDO:lla
  2. Valmistellut lauseet ja sidonta
  3. Tulosten hakeminen PDO:lla
  4. Transaktiot PDO:lla
← Takaisin: PHP Academy