Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mensagem:count():O parâmetro deve ser um array ou um objeto que implemente o codeigniter Countable no centos


O problema na sua pergunta é que você está tentando contar um objeto não-array ou não contável.

Pensamentos


  1. Em todo o seu código você não escreveu o count() que parece estar causando o problema, por quê?
  2. Por que você precisa contar $q->row(); quando você está limitando o resultado a 1 // as you said the problem is here $row = $q->row();

Solução possível

Quando você usa row() ou seja, $q->row(); você recebe um não- objeto contável ,

// row() dummy data
stdClass Object
(
    [id] => 15
    [event_id] => 3
    [event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)

mas quando você usa result() ou seja, $q->result(); , resultará em um array de objetos ou no caso de result_array() , uma matriz de matrizes, mesmo se você as limitar a uma.
// 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 são agora uma matriz e, portanto, contáveis.


Espero que ajude você.