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

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

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

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

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

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

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

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

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


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

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

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

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

 $getvidids->result_array() 

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

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

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