ホームページ >バックエンド開発 >PHPチュートリアル >Codeigniter データベースによってクエリされたレコード内のオブジェクトのフィールド値を取得する方法。
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 の最初のオブジェクトを取得するにはどうすればよいですか? ? ?
-----解決策---------
// モデル 関数 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>