1

何らかの理由で、オブジェクトを含む変数を print_r すると、データが取得されます。ただし、表記法を使用して各アイテムにアクセスしようとする->と、それはNULL.

print_rダンプは次の$user_dataとおりです。

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 に変換されていたようで、ライブラリが実際に小文字のバリアントを使用していることに気付きませんでした。

ありがとう。


4

1 に答える 1

0

奇妙ではありますが、オブジェクトに __get 関数が定義されており、内部のプライベート データ ポイントで null をキャプチャして返すように定義されている可能性があります。これにより、任意のデータに直接アクセスしようとした場合に、php が致命的な「プライベートにアクセスできない」エラーをスローするのを防ぐことができます。

そう、はい、UACC_ID は存在し、そこにありますが、傍受されています。

于 2013-05-05T13:44:52.713 に答える