Portál AbcLinuxu, 11. května 2025 00:49

Dotaz: Jak získat data z mysql jako objekt

7.4.2015 14:03 Začátečník
Jak získat data z mysql jako objekt
Přečteno: 246×
Odpovědět | Admin
Ahoj, snažím se získat data z mysql jako objekt ale nevím jak je vypsat
$q = $this->pdo->prepare("SELECT * FROM `nastaveni` WHERE 1");
$q->execute();
$data = $q->fetchAll(\PDO::FETCH_OBJ);
var_dump($data); mi vrací tohle
array(3) {
  [0]=>
  object(stdClass)#4 (2) {
    ["key"]=>
    string(8) "error404"
    ["url"]=>
    string(8) "error404"
  }
  [1]=>
  object(stdClass)#5 (2) {
    ["key"]=>
    string(4) "home"
    ["url"]=>
    string(4) "home"
  }
  [2]=>
  object(stdClass)#6 (2) {
    ["key"]=>
    string(4) "news"
    ["url"]=>
    string(7) "novinky"
  }
}
Pomůže prosím někdo?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.4.2015 14:13 JakubD
Rozbalit Rozbalit vše Re: Jak získat data z mysql jako objekt
Odpovědět | | Sbalit | Link | Blokovat | Admin
Když voláš $q->fetchAll(), tak ti to vrátí pole výsledků - viz http://php.net/manual/en/pdostatement.fetchall.php. Když chceš vrátit pouze jeden výsledek, použij metodu $q->fetch() - viz http://php.net/manual/en/pdostatement.fetch.php. Pozor ale na tvou podmínku v SQL dotazu - WHERE 1. To ti vrátí všechny záznamy a pak ti metoda ->fetch() vrátí vždy jen první záznam. Když chceš jen jeden záznam, uprav si SQL podmínku na něco jako "... WHERE ID=123", apod.
7.4.2015 14:25 Začátečník
Rozbalit Rozbalit vše Re: Jak získat data z mysql jako objekt
Chtěl bych získat veškerá data z mysql z dané tabulky jako objekt a pak k němu jako objekt přistupovat.
7.4.2015 14:35 jakubdb
Rozbalit Rozbalit vše Re: Jak získat data z mysql jako objekt
Objekt by měl přece reprezentovat jeden řádek v DB. Můžeš popsat, jak bys pak chtěl s takovým objektem pracovat, co je to za tabulku a jak to chceš použít? BTW: vlastní třídu specifikovat můžeš - nastavíš ji po volání ->prepare() takto:
$q->setFetchMode(PDO::FETCH_CLASS, 'MojeTrida');
Objekt třídy MojeTrida pak dostaneš, pokud voláš fetch() a když voláš fetchAll(), tak dostaneš pole objektů MojeTrida.
7.4.2015 21:57 Začátečník
Rozbalit Rozbalit vše Re: Jak získat data z mysql jako objekt
Hm, a jak se taková třída používá/volá ?
8.4.2015 07:48 jakubdb
Rozbalit Rozbalit vše Re: Jak získat data z mysql jako objekt
No to přece záleží na tobě, jak to chceš použít. Napiš sem, jak konkrétně chceš pak s tím objektem pracovat, k čemu to chceš takhle použít. Stále nevidím účel, proč potřebuješ pole dat držet jako objekt.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.