sql >> Databáze >  >> RDS >> Mysql

Zpráva:count():Parametr musí být pole nebo objekt, který implementuje Countable codeigniter na centos

Problém ve vaší otázce je, jak vidím, v tom, že se snažíte spočítat objekt, který není v poli nebo nespočítatelný.

Myšlenky

  1. V celém kódu jste nezapsali count() což se zdá být příčinou problému, proč?
  2. Proč potřebujete počítat $q->row(); když omezujete výsledek na 1 sami // as you said the problem is here $row = $q->row();

Možné řešení

Když použijete row() tj. $q->row(); získáte non- počitatelný objekt ,

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

ale když použijete result() tj. $q->result(); , výsledkem bude pole objektů nebo v případě result_array() , pole polí, i když je omezíte na jedno.

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

)

Oba jsou nyní polem, a tudíž spočítatelné.

Doufám, že vám to pomůže.




  1. MYSQL a klauzule LIMIT

  2. Jak zkontrolovat velikost databáze MySQL v Linuxu

  3. Jak přidat klíč k hodnotě pole JSON?

  4. Výsledky MySQL s kódováním JSON