El problema en su pregunta es, como veo, que está tratando de contar un objeto que no es una matriz o que no se puede contar.
Pensamientos
- En todo tu código no has escrito el
count()que parece estar causando el problema, ¿por qué? - ¿Por qué necesita contar
$q->row();cuando estás limitando el resultado a 1 tú mismo// as you said the problem is here $row = $q->row();
Posible solución
Cuando usa row() es decir, $q->row(); obtienes un no- objeto contable
,
// row() dummy data
stdClass Object
(
[id] => 15
[event_id] => 3
[event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)
pero cuando usas result() es decir, $q->result(); , resultará en una matriz de objetos o en el caso de result_array() , una matriz de matrices, incluso si las limita a una.
// 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
)
)
Ambos son ahora una matriz y, por lo tanto, contables.
Espero que te ayude.