sql >> データベース >  >> RDS >> Mysql

メッセージ:count():パラメーターは、centosでCountablecodeigniterを実装する配列またはオブジェクトである必要があります

    あなたの質問の問題は、私が見ているように、あなたが非配列または非可算オブジェクトを数えようとしているということです。

    考え

    1. コード全体で、count()を記述していません これが問題を引き起こしているようです、なぜですか?
    2. $q->row();をカウントする必要があるのはなぜですか 結果を自分で1に制限する場合// as you said the problem is here $row = $q->row();

    考えられる解決策

    row()を使用する場合 つまり、$q->row(); non-を取得します可算オブジェクト

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

    ただし、result()を使用する場合 つまり、$q->result(); 、オブジェクトの配列になるか、result_array()の場合になります 、配列を1つに制限した場合でも、配列の配列。

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

    両方とも配列になっているため、カウント可能です。

    お役に立てば幸いです。




    1. 2022年に準備しなければならない上位115のSQLインタビューの質問

    2. PHPデータベースレコードが空であるというelseステートメントの場合、デフォルトの画像が表示されます

    3. パラメータ化されたSQLクエリを休止状態にする低速でアクティブなOracleセッション

    4. Bashスクリプトからmysqlに挿入します