Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Komunikat:count():Parametr musi być tablicą lub obiektem implementującym Countable codeigniter na centos

Problem w Twoim pytaniu polega na tym, że próbujesz policzyć obiekt, który nie jest tablicą lub nie jest policzalny.

Myśli

  1. W całym kodzie nie napisałeś count() co wydaje się być przyczyną problemu, dlaczego?
  2. Dlaczego musisz liczyć $q->row(); gdy sam ograniczasz wynik do 1 // as you said the problem is here $row = $q->row();

Możliwe rozwiązanie

Gdy używasz row() tj. $q->row(); otrzymasz nie- policzalny obiekt ,

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

ale kiedy używasz result() tj. $q->result(); , spowoduje to powstanie tablicy obiektów lub w przypadku result_array() , tablica tablic, nawet jeśli ograniczysz je do jednej.

// 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 są teraz tablicą, a zatem są policzalne.

Mam nadzieję, że ci to pomoże.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL wyodrębnia dane z łańcucha csv i wstawia do drugiej tabeli

  2. jak uzyskać dostęp do wiersza poleceń dla xampp w systemie Windows?

  3. Jak uzyskać liczbę, nawet jeśli nie ma wyników odpowiadających mysql?

  4. ustawianie docelowej wersji bazy danych dla migracji środowiska roboczego mysql

  5. Piping mysqldump do mysql