sql >> Database >  >> RDS >> Mysql

Bericht:count():Parameter moet een array of een object zijn dat Countable codeigniter implementeert op centos

Het probleem in je vraag is, zoals ik zie, dat je een niet-array of niet-telbaar object probeert te tellen.

Gedachten

  1. In je hele code heb je de count() . niet geschreven wat het probleem lijkt te veroorzaken, waarom?
  2. Waarom moet je $q->row(); . tellen wanneer je het resultaat zelf beperkt tot 1 // as you said the problem is here $row = $q->row();

Mogelijke oplossing

Als je row() gebruikt dat wil zeggen $q->row(); je krijgt een niet- telbaar object ,

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

maar wanneer u result() . gebruikt dat wil zeggen $q->result(); , zal het resulteren in een array van objecten of in het geval van result_array() , een array van arrays, zelfs als je ze tot één beperkt.

// 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 zijn nu een array en dus telbaar.

Ik hoop dat het je helpt.




  1. Voorbereide verklaringen bestaan ​​al

  2. Invoegen in aangepaste SQL-typen met voorbereide instructies in java

  3. Bulk insert van csv in postgres met golang zonder for-lus te gebruiken

  4. Variabele 'sql_mode' kan niet worden ingesteld op de waarde van 'NO_AUTO_CREATE_USER'