web-dev-qa-db-fra.com

Erreur fatale: impossible d'utiliser un objet de type stdClass comme tableau dans

Je reçois l'erreur:

"Erreur fatale: impossible d'utiliser un objet de type stdClass comme tableau dans" à la ligne 183

De ce code:

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

Quelqu'un sait-il ce qui ne va pas avec le code ci-dessus? Ou que signifie cette erreur?

25
kyle

CodeIgniter renvoie les lignes de résultat sous forme d'objets, pas de tableaux. Depuis le guide de l'utilisateur :

résultat()


Cette fonction renvoie le résultat de la requête sous la forme d'un tableau d'objets , ou un tableau vide en cas d'échec.

Vous devrez accéder aux champs en utilisant la notation suivante:

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

si vous voulez vraiment un tableau à la place, vous pouvez utiliser:

$getvidids->result_array()

qui retournerait les mêmes informations qu'un tableau associatif.

15
icchanobot