Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Fatal error: Cannot use object of type stdClass as array in

Estas en el tema de Fatal error: Cannot use object of type stdClass as array in en el foro de PHP en Foros del Web. Fatal error: Cannot use object of type stdClass as array in C:\xampp\htdocs\index.php on line 23 @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php #Start or make ...
  #1 (permalink)  
Antiguo 23/08/2016, 16:55
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 11 meses
Puntos: 4
Fatal error: Cannot use object of type stdClass as array in

Fatal error: Cannot use object of type stdClass as array in C:\xampp\htdocs\index.php on line 23

Código PHP:
Ver original
  1. <?php
  2. #Start or make a session
  3.  
  4. $dir = 'app/';
  5. require_once($dir . 'configuration.php');
  6.  
  7. #Requires User class
  8. require_once($dir . 'class/class_user.php');
  9.  
  10. #Call User class
  11. $user = new User($db['host'], $db['user'], $db['pass'], $db['name']);
  12.  
  13. $webUser = new stdClass();
  14.  
  15. if(empty($_SESSION['username'])){
  16.     $webUserData = false;
  17.     $webUser->username = 'No conectado';
  18.     $webUser->email = '[email protected]';
  19.     $webUser->last_online = 'No conectado';
  20. }else{
  21.     $webUserData = $user->getUserData($_SESSION['username']);
  22.     $webUser = $webUserData[0];
  23. }

No tengo ni idea de que es lo que puede pasar es la primera que trabajo con stdClass a ver si alguien puede echarme una mano Gracias de antemano.
  #2 (permalink)  
Antiguo 23/08/2016, 17:02
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 7 meses
Puntos: 120
Respuesta: Fatal error: Cannot use object of type stdClass as array in

el error lo tienes en la linea 23
ahi estas tratando de acceder al indice 0 de un ARRAY pero $webUserData no es un array sino un OBJETO, y eso mismo te indica el error
Código:
 $webUser = $webUserData[0];
si quieres saber que tipo de variable es $webUserData
usa siempre para depurar "var_dump"

Código PHP:
Ver original
  1. <?php
  2. #Start or make a session
  3.  
  4. $dir = 'app/';
  5. require_once($dir . 'configuration.php');
  6.  
  7. #Requires User class
  8. require_once($dir . 'class/class_user.php');
  9.  
  10. #Call User class
  11. $user = new User($db['host'], $db['user'], $db['pass'], $db['name']);
  12.  
  13. $webUser = new stdClass();
  14.  
  15. if(empty($_SESSION['username'])){
  16.     $webUserData = false;
  17.     $webUser->username = 'No conectado';
  18.     $webUser->email = '[email protected]';
  19.     $webUser->last_online = 'No conectado';
  20. }else{
  21.     $webUserData = $user->getUserData($_SESSION['username']);
  22.     var_dump($webUserData);//vemos que contiene esta variable
  23.     $webUser = $webUserData[0];
  24. }
  #3 (permalink)  
Antiguo 23/08/2016, 17:05
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 11 meses
Puntos: 4
Respuesta: Fatal error: Cannot use object of type stdClass as array in

Cita:
Iniciado por tuadmin Ver Mensaje
el error lo tienes en la linea 23
ahi estas tratando de acceder al indice 0 de un ARRAY pero $webUserData no es un array sino un OBJETO, y eso mismo te indica el error
Código:
 $webUser = $webUserData[0];
si quieres saber que tipo de variable es $webUserData
usa siempre para depurar "var_dump"

Código PHP:
Ver original
  1. <?php
  2. #Start or make a session
  3.  
  4. $dir = 'app/';
  5. require_once($dir . 'configuration.php');
  6.  
  7. #Requires User class
  8. require_once($dir . 'class/class_user.php');
  9.  
  10. #Call User class
  11. $user = new User($db['host'], $db['user'], $db['pass'], $db['name']);
  12.  
  13. $webUser = new stdClass();
  14.  
  15. if(empty($_SESSION['username'])){
  16.     $webUserData = false;
  17.     $webUser->username = 'No conectado';
  18.     $webUser->email = '[email protected]';
  19.     $webUser->last_online = 'No conectado';
  20. }else{
  21.     $webUserData = $user->getUserData($_SESSION['username']);
  22.     var_dump($webUserData);//vemos que contiene esta variable
  23.     $webUser = $webUserData[0];
  24. }
Así es Gracias por la aclaración, ya esta resuelto

Etiquetas: as, fatal, object, stdclass, type
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:19.