Mysql
 sql >> Database >  >> RDS >> Mysql

Messaggio:count():il parametro deve essere un array o un oggetto che implementa Countable codeigniter su centos

Il problema nella tua domanda è come vedo che stai cercando di contare un oggetto non array o non numerabile.

Pensieri

  1. Nell'intero codice non hai scritto count() che sembra causare il problema, perché?
  2. Perché devi contare $q->row(); quando stai limitando il risultato a 1 tu stesso // as you said the problem is here $row = $q->row();

Possibile soluzione

Quando usi row() cioè $q->row(); ottieni un non- oggetto numerabile ,

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

ma quando usi result() cioè $q->result(); , risulterà in un array di oggetti o nel caso di result_array() , un array di array, anche se li limiti a uno.

// 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
        )

)

Entrambi sono ora un array e quindi numerabili.

Spero che ti aiuti.