Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thông báo:count ():Tham số phải là một mảng hoặc một đối tượng triển khai bộ mã đếm được trên centos

Vấn đề trong câu hỏi của bạn như tôi thấy là bạn đang cố đếm một đối tượng không phải là mảng hoặc không đếm được.

Suy nghĩ

  1. Trong toàn bộ mã của bạn, bạn chưa viết count() mà dường như đang gây ra vấn đề, tại sao?
  2. Tại sao bạn cần đếm $q->row(); khi bạn giới hạn kết quả ở 1 mình // as you said the problem is here $row = $q->row();

Giải pháp khả thi

Khi bạn sử dụng row() tức là $q->row(); bạn nhận được một không đối tượng có thể đếm được ,

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

nhưng khi bạn sử dụng result() tức là $q->result(); , nó sẽ dẫn đến một mảng đối tượng hoặc trong trường hợp result_array() , một mảng các mảng, ngay cả khi bạn giới hạn chúng ở một.

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

)

Cả hai chúng hiện là một mảng và do đó có thể đếm được.

Hy vọng nó sẽ giúp bạn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xóa các ký tự đứng đầu và theo sau trong MySQL

  2. Thay đổi cột MySQL thành AUTO_INCREMENT

  3. Sự khác biệt giữa $ http.get và phương thức:'GET'

  4. MySQLi count (*) luôn trả về 1

  5. Sử dụng Cơ sở dữ liệu quan hệ MySQL trên Fedora 12