include 'businessLogic.php';
session_start();
$user_email = $_SESSION["user_email"];
//creates new object
$user_obj[] = new stdClass();
//returns a single user
$user_obj[] = getUser($user_email);
$user_id= $user_obj[0]->user_id;
$password= $user_obj[0]->password;
$email= $user_obj[0]->email;
$date_of_birth= $user_obj[0]->date_of_birth;
$gender= $user_obj[0]->gender;
$first_name= $user_obj[0]->first_name;
$last_name= $user_obj[0]->last_name;
这会对所有属性产生相同的错误
Undefined property: stdClass::$user_id in
答案 0 :(得分:1)
仔细看看:
您将stdClass
对象推送到数组$user_obj
//creates new object
$user_obj[] = new stdClass();
它将收到索引0。
然后你推送一个用户对象。
//returns a single user
$user_obj[] = getUser($user_email);
它在索引1处。
但是你试图在索引0处访问它。纠正它必须是:
$user_id = $user_obj[1]->user_id;
//...
答案 1 :(得分:0)
由于$user_obj
是一个数组,因此使用new stdClass
对象初始化其索引0。
$user_obj[] = new stdClass();
并在此语句中,函数返回的对象被分配给数组$user_obj
的索引1。
//returns a single user
$user_obj[] = getUser($user_email);
您在此处进行的第一次初始化没有任何意义。它只是stdClass
的空白对象。