ホームページ >バックエンド開発 >PHPチュートリアル >Codeigniter データベースによってクエリされたレコード内のオブジェクトのフィールド値を取得する方法。

Codeigniter データベースによってクエリされたレコード内のオブジェクトのフィールド値を取得する方法。

WBOY
WBOYオリジナル
2016-06-13 13:51:02707ブラウズ

Codeigniter データベースによってクエリされたレコード内のオブジェクトのフィールド値を取得します
これは codeigniter
モデル層
関数 checkUser()
{
$username = $this-> のプログラムです。 input ->post('ユーザー名');
$password = $this->input->post('パスワード');
$this->db->from('ユーザー' ) ;
$this->db->where('username',$username);
$this->db->where('password',$password);
$ query =$this->db->get();
return $query->result();
}
コントローラ層:

public function User_Login()
{
$this->load->model('User','',TRUE);
$error['info']="ユーザー名またはパスワードが間違っています!";
$ data['query']=$this->User->checkUser();
$info=$this->User->checkUser();
//ここで取得したユーザーを出力します情報
print_r($info);
if(!empty($data['query']))
{
$this->load->view('User/User_Index' );
}
else
{
$this->load->view('index',$error);
}
}

ここで少しわかりにくい知識ポイントがあります。
出力された情報を次のようにコメントアウトします:
Array ( [0] => stdClass Object ( [id] => 1 [createdate] => 2011-03-29 14:32:18 [flag ] => 1 [パスワード] => 123 [ユーザー名] => user1 [メール] => )


次に、この配列 ID の最初のオブジェクトを取得するにはどうすればよいですか? ? ?


-----解決策---------

PHP コード


// モデル
関数 checkUser()
{
    //その他のコードは省略
    //私の個人的な理解では、ここでは 1 つのオブジェクトのみが返されるため、コンテンツを直接返す方が良いでしょう。
    $res_data = $query->result_array();
    // または $res_data = $query->result() // オブジェクトを使用する場合
    if ((count($res_data) == 1))
    {
        $res_data = リセット($res_data);
    }

    $res_data を返します。
}

// コントローラー
パブリック関数 User_Login()
{
    $this->load->model('ユーザー','',TRUE);
    $error['info']="ユーザー名またはパスワードが間違っています!";
    $data['query']=$this->User->checkUser();
    $info=$this->ユーザー->checkUser();
    //ここで取得したユーザー情報を出力します
    print_r($info);

    // オブジェクトの場合 $info->id
    if(!empty($info['id']))
    {
        $this->load->view('User/User_Index');
    }
    それ以外
    {
        $this->load->view('index',$error);
    }
<div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。