【发布时间】:2013-04-29 09:35:02
【问题描述】:
由于某种原因,当我 print_r 包含一个对象的变量时,我得到了数据。但是,当我尝试使用 -> 表示法访问每个项目时,它说它是 NULL。
这是$user_data 的print_r 转储:
STDCLASS OBJECT (
[UACC_ID] => 6
[UACC_GROUP_FK] => 1
[UACC_EMAIL] => xxx@GMAIL.COM
[UACC_USERNAME] => xxxx
[UACC_PASSWORD] => $2A$08$CLSxxxxxxEOS7D2NDCSDD3P6A6
[UACC_IP_ADDRESS] => xx.xxx.xx.65
[UACC_SALT] => C64JYWY7ZS
[UACC_ACTIVATION_TOKEN] =>
[UACC_FORGOTTEN_PASSWORD_TOKEN] =>
[UACC_FORGOTTEN_PASSWORD_EXPIRE] => 0000-00-00 00:00:00
[UACC_UPDATE_EMAIL_TOKEN] =>
[UACC_UPDATE_EMAIL] =>
[UACC_ACTIVE] => 1
[UACC_SUSPEND] => 0
[UACC_FAIL_LOGIN_ATTEMPTS] => 0
[UACC_FAIL_LOGIN_IP_ADDRESS] =>
[UACC_DATE_FAIL_LOGIN_BAN] => 0000-00-00 00:00:00
[UACC_DATE_LAST_LOGIN] => 2013-05-05 07:18:34
[UACC_DATE_ADDED] => 2013-04-28 09:34:39
[UGRP_ID] => 1
[UGRP_NAME] => PUBLIC
[UGRP_DESC] => PUBLIC USER : HAS NO ADMIN ACCESS RIGHTS.
[UGRP_ADMIN] => 0
[UPRO_ID] => 6
[UPRO_UACC_FK] => 6
[UPRO_COMPANY] =>
[UPRO_FIRST_NAME] => xxxx
[UPRO_LAST_NAME] => xxxxx
[UPRO_PHONE] => 01392
[UPRO_NEWSLETTER] => 0
[UADD_ID] =>
[UADD_UACC_FK] =>
[UADD_ALIAS] =>
[UADD_RECIPIENT] =>
[UADD_PHONE] =>
[UADD_COMPANY] =>
[UADD_ADDRESS_01] =>
[UADD_ADDRESS_02] =>
[UADD_CITY] =>
[UADD_COUNTY] =>
[UADD_POST_CODE] =>
[UADD_COUNTRY] =>
)
但是,当我尝试这个时,我得到NULL:
var_dump($user_data->UACC_ID);
我似乎无法通过使用符号 $user_data->UACC_EMAIL 等来回显任何内容。我做错了什么?
谢谢大家。看起来输出正在被转换为 CSS 中的 ALLCAPS,所以我没有意识到该库实际上使用了小写变体。
谢谢。
【问题讨论】:
-
如果没有
UACC_ID这样的键,你会在尝试访问$user_data->UACC_ID时遇到错误——这意味着某些东西可能会覆盖该值——你能发布完整的代码吗? -
我唯一的代码如下,我不明白为什么它不起作用: $user_data = $this->flexi_auth->get_user_by_id()->row(); print_r($user_data); //var_dump($user_data); var_dump($user_data->UACC_ID);
-
print_r和var_dump都不会将输出转为全大写,请发布实际输出而不进行修饰。编辑:since you're using Flexi Auth, the column is nameduacc_id, notUACC_ID. -
DCoder 完全正确 - 你 确定 它不是
$user_data->uacc_id或$user_data->uacc_ID等,你要么有一个 CSS 转换,要么把它全部变成大写使用输出缓冲区和strtoupper?