Подтвердить что ты не робот

Неустранимая ошибка: нельзя использовать объект типа stdClass в качестве массива в

Я получаю сообщение об ошибке:

"Неустранимая ошибка: нельзя использовать объект типа stdClass в качестве массива в строке" on line 183

Из этого кода:

$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
}

Кто-нибудь знает, что случилось с вышеуказанным кодом? Или что означает эта ошибка?

4b9b3361

Ответ 1

CodeIgniter возвращает результирующие строки как объекты, а не массивы. Из руководства :

результат (а)


Эта функция возвращает результат запроса в виде массива объектов или пустой массив при ошибке.

Вам нужно будет получить доступ к полям, используя следующие обозначения:

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

Ответ 2

если вы действительно хотите использовать массив, который вы можете использовать:

$getvidids->result_array()

который возвращает ту же информацию, что и ассоциативный массив.

Ответ 3

Извините. Хотя это немного поздно, но надеюсь, что это тоже поможет другим. Всегда используйте stdClass object.e.g

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

foreach($getvidids->result() as $key=>$myids)
{

  $vidid[$key] = $myids->videoid;  // better methodology to retrieve and store multiple records in arrays in loop
 }