致命错误:不能使用stdClass类型的对象作为数组

kyl*_*yle 25 php mysql codeigniter

我收到错误:

"致命错误:不能在第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
}
Run Code Online (Sandbox Code Playgroud)

有人知道上面的代码有什么问题吗?或者这个错误意味着什么?

Bol*_*ock 63

CodeIgniter将结果行作为对象返回,而不是数组.来自用户指南:

结果()


此函数将查询结果作为对象数组返回,或者在失败时返回空数组.

您必须使用以下表示法访问字段:

foreach ($getvidids->result() as $row) {
    $vidid = $row->videoid;
}
Run Code Online (Sandbox Code Playgroud)


icc*_*bot 15

如果你真的想要一个数组,你可以使用:

$getvidids->result_array()
Run Code Online (Sandbox Code Playgroud)

它将返回与关联数组相同的信息.