web-dev-qa-db-ja.com

致命的なエラー:stdClass型のオブジェクトを配列として使用できません

エラーが発生しています:

183行目の「致命的なエラー:stdClass型のオブジェクトを配列として使用できません」

このコードから:

$getvidids = $ci->db->query(
    "SELECT * FROM videogroupids " . 
    "WHERE videogroupid='$videogroup' AND used='0' LIMIT 10");

foreach ($getvidids->result() as $row){
    $vidid = $row['videoid'];              //This is line 183
}

上記のコードの何が問題になっていますか?または、このエラーの意味は何ですか?

25
kyle

CodeIgniterは、結果行を配列ではなくオブジェクトとして返します。 ユーザーガイド から:

結果()


この関数は、クエリ結果をobjectsの配列、または空の配列失敗した場合。

次の表記法を使用してフィールドにアクセスする必要があります。

foreach ($getvidids->result() as $row) {
    $vidid = $row->videoid;
}
63
BoltClock

本当に配列が必要な場合は、次を使用できます。

$getvidids->result_array()

連想配列と同じ情報を返します。

15
icchanobot