0

is_active変数をエコーすると、クラス__PHP_Incomplete_Classのオブジェクトを文字列に変換できませんでしたというエラーが表示されます。ユーザー名とis_logged_in変数では問題なく動作しますが、is_active変数ではうまく動作しません。ここで間違っている...

私のコントローラーでは、次のことを行いました。

$username=$this->input->post("username");
            $activated_val=$this->membership_model->is_activated($username);

            $data = array(
                "username" => $this->input->post("username"),
                "is_logged_in" => true,
                "is_active" => $activated_val
            );
            $this->session->set_userdata($data);
            redirect("main");

私のモデル関数:

function is_activated($username){
        $query = "SELECT activated FROM members WHERE username=?";
        $result = $this->db->query($query, $username);

        return $result;
    }

そして私の見解では:

$is_active= $this->session->userdata("is_active");
                echo $is_active;
4

1 に答える 1

2

モデルで、return行を次のように変更します

return $result;

return $result->row()->activated;

クエリは、まだ結果ではない CodeIgniter オブジェクトを返します。これを渡した後row()、このオブジェクトの属性としてデータベースの列の値を持つオブジェクトを取得し、このオブジェクトの対応する属性をactivated取得して列の値を参照します。->activated

于 2012-09-27T23:41:58.093 に答える