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í DibiResult
u 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.