Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Nachricht:count():Parameter muss ein Array oder ein Objekt sein, das Countable Codeigniter auf Centos implementiert

Das Problem in Ihrer Frage ist, wie ich sehe, dass Sie versuchen, ein Nicht-Array oder nicht zählbares Objekt zu zählen.

Gedanken

  1. In Ihrem gesamten Code haben Sie den count() nicht geschrieben was scheint das Problem zu verursachen, warum?
  2. Warum müssen Sie $q->row(); zählen wenn Sie das Ergebnis selbst auf 1 begrenzen // as you said the problem is here $row = $q->row();

Mögliche Lösung

Wenn Sie row() verwenden dh $q->row(); Sie erhalten einen nicht- zählbares Objekt ,

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

aber wenn Sie result() verwenden dh $q->result(); , führt dies zu einem Array von Objekten oder im Fall von result_array() , ein Array von Arrays, auch wenn Sie sie auf eines beschränken.

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

)

Beide sind jetzt ein Array und daher zählbar.

Hoffe es hilft dir.