Проблемът във вашия въпрос е, както виждам, че се опитвате да преброите немасив или неизброим обект.
Мисли
- В целия си код не сте написали
count()което изглежда причинява проблема, защо? - Защо трябва да броите
$q->row();когато сами ограничавате резултата до 1// as you said the problem is here $row = $q->row();
Възможно решение
Когато използвате row() т.е. $q->row(); получавате не- изброим обект
,
// row() dummy data
stdClass Object
(
[id] => 15
[event_id] => 3
[event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)
но когато използвате result() т.е. $q->result(); , това ще доведе до масив от обекти или в случай на result_array() , масив от масиви, дори ако ги ограничите до един.
// result() dummy data -- same as result_object()
(
[0] => stdClass Object
(
[id] => 15
[event_id] => 3
[event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)
)
// result_array() dummy data
Array
(
[0] => Array
(
[id] => 15
[event_id] => 3
[event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)
)
И двете вече са масив и следователно могат да бъдат преброени.
Надявам се да ви помогне.