Tulosten hakeminen PDO:lla
Noutakaa rivit fetchAll- ja fetch-metodeilla sekä PDO:n hakutiloilla.
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 objectsfetchColumn()
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ä?
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
- Yhteyden muodostaminen MySQL:ään PDO:lla
- Valmistellut lauseet ja sidonta
- Tulosten hakeminen PDO:lla
- Transaktiot PDO:lla