Oznámení
Problém, předávání parametrů COUNT
před 10 lety

- symmetry
- Člen | 71
Zdravím při volání fce:
public function CountPhotos($id) {
$result = dibi::query('SELECT COUNT(*) FROM [tbl_photos] WHERE `id`=%i',$id);
return $result;
}
Dostávám hlášku:
Object of class DibiResult could not be converted to string:
A fci volám takto:
echo "<td>".$photo->CountPhotos($row->id)."</td>";
Kde $row->id, predstavuje zaznam pod sloupcem id fetchnuty ze selectu.
Netusi nekdo prosim, v cem by mohl byt problem?
Jelikoz tu samou chybu dostanu, i pokud tam dosadim natvrdo cislo.
Díky za každou radu.
před 10 lety

- vlki
- Člen | 218
Pracuješ s dibi špatným způsobem.
dibi::query, jak si můžeš přečíst v api, vrací jako
výsledek DibiResult, což je jen výsledek dotazu od
databázového serveru. Před použitím získaných dat, je ho potřeba
zpracovat. Metody pro zpracování DibiResultu jsou typicky
fetch nebo fetchAll.
Tvůj příklad by mohl vypadat nějak takto:
public function CountPhotos($id) {
$result = dibi::query('SELECT COUNT(*) AS [count] FROM [tbl_photos] WHERE `id`=%i',$id);
return $result->fetchSingle();
}
Důležité je to, že DibiResult obecně nic není. Je potřeba
ho zpracovat pro získání dat. Proto ta chyba, že nejde konvertovat na
řetězec.