⊗ppPmDBRGet 366 of 447 menu

Získání výsledku SQL dotazu v PHP

V předchozí lekci jsme vytvořili testovací kód. Připomenu jeho podstatnou část, která provádí dotaz na databázi:

<?php $query = 'SELECT * FROM users'; $res = mysqli_query($link, $query) or die(mysqli_error($link)); var_dump($res); ?>

Jak vidíte, poté, co proběhne dotaz na databázi, bude v proměnné $res ležet výsledek této akce. Avšak neleží ve formě, kterou potřebujeme v PHP, ale ve formě, ve které nám jej poslala databáze.

Abyste získali výsledek v obvyklé formě, je nutné použít funkci mysqli_fetch_assoc, která z výsledku extrahuje jeden řádek.

Zkusme to:

<?php $row = mysqli_fetch_assoc($res); var_dump($row); ?>

Výsledkem var_dump bude výpis pole s prvním zaměstnancem:

<?php ['id' => 1, 'name' => 'user1', 'age' => 23, 'salary' => 400] ?>

Přičemž z proměnné $res první zaměstnanec zmizí a další volání mysqli_fetch_assoc získá již dalšího zaměstnance.

A tak lze naši funkci volat dokud nezaměstnanci nedojdou. Jakmile k tomu dojde, další volání funkce vrátí false.

Zkusme to:

<?php $row1 = mysqli_fetch_assoc($res); var_dump($row1); // zaměstnanec číslo 1 $row2 = mysqli_fetch_assoc($res); var_dump($row2); // zaměstnanec číslo 2 $row3 = mysqli_fetch_assoc($res); var_dump($row3); // zaměstnanec číslo 3 $row4 = mysqli_fetch_assoc($res); var_dump($row4); // zaměstnanec číslo 4 $row5 = mysqli_fetch_assoc($res); var_dump($row5); // zaměstnanec číslo 5 $row6 = mysqli_fetch_assoc($res); var_dump($row6); // zaměstnanec číslo 6 $row7 = mysqli_fetch_assoc($res); var_dump($row7); // vypíše NULL - zaměstnanci došli ?>
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout